首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >angularjs将表单提交到模型中存储的url。

angularjs将表单提交到模型中存储的url。
EN

Stack Overflow用户
提问于 2014-04-21 14:54:29
回答 1查看 2.8K关注 0票数 1

我有一个角度的应用程序,需要提交一个表格给供应商。每次运行流程时,供应商都会指定表单必须提交到的url。则应用程序提交到该url。然后,供应商将客户端浏览器重定向到我的应用程序在前面的步骤中指定的页面。

我可以让它在表单操作中使用硬编码的url提交。例如:

代码语言:javascript
运行
复制
<form method="post" ng-submit="preSubmit()" 
      action="https://posttestserver.com/post.php">

但我需要提交到供应商刚才指定的url。我将这个值存储为$scope.formActionUrl。

因此,我尝试将表单提交给formActionUrl的值:

代码语言:javascript
运行
复制
<form method="post" ng-submit="preSubmit()" action="{{formActionUrl}}">

它不会提交。控制台中未记录任何错误。

如果我在表单上执行inspect-element,它会显示表单操作已经正确地分配给了存储在formActionUrl中的值。

我的preSubmit函数在这两种情况下都会执行。

我需要提交的url是https。

有人知道怎么让它工作吗?

EN

回答 1

Stack Overflow用户

发布于 2014-04-21 16:12:21

我认为这个问题是由于angular如何信任Urls造成的。如果你阅读https://docs.angularjs.org/api/ng/service/$sce,它会更详细地解释这一点。

通过将$sce服务注入到控制器中,您可以执行以下操作:

代码语言:javascript
运行
复制
$scope.formActionUrl = $sce.trustAsResourceUrl("https://posttestserver.com/post.php");

来告诉AngularJS这个url是可信的。然后,它将出现在您的窗体的操作中。

这里有一个快速演示,如果你在呈现的超文本标记语言中查看,操作就在那里,如果你删除$sce,它将不起作用。

http://jsbin.com/diyefevi/10/edit

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23192422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档