【问题标题】:sending old school form post requst from within angularJS从 angularJS 中发送旧式表单发布请求
【发布时间】:2015-01-04 19:31:26
【问题描述】:

我或多或少需要完成这项工作:

 <form name="goToExchange" action="{{onExchange.data.saml_url}}" method="post">
    <input type="hidden" value="{{onExchange.data.onexchange_saml}}" name="SAMLResponse">
    <button type="submit" class="btn btn-warning btn-lg pointer">Continue application on  Healthcare.gov <i class="fa fa-arrow-right"></i>
</form>

现在当我尝试运行它时,我在页面加载时收到了这个漂亮的错误:

错误:[$interpolate:interr] 无法插值:{{onExchange.data.saml_url}} 错误:[$sce:insecurl] 阻止从 url 加载资源,$sceDelegate 策略不允许。网址:https://www.healthcare.gov/marketplace/brokerService http://errors.angularjs.org/1.3.0-beta.19/$sce/insecurl?p0=https%3A%2F%2Fwww.healthcare.gov%2Fmarketplace%2FbrokerService http://errors.angularjs.org/1.3.0-beta.19/$interpolate/interr?p0=%7B%7BonEx…3Dhttps%253A%252F%252Fwww.healthcare.gov%252Fmarketplace%252FbrokerService 在https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.19/angular.js:78:12 在 parseStringifyInterceptor (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.19/angular.js:9163:24) 在 Object.interceptedExpression (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.19/angular.js:11493:22) 在 Scope.$digest (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.19/angular.js:12805:40) 在 Scope.$apply (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.19/angular.js:13079:24) 完成后 (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.19/angular.js:8600:45) 在完成请求 (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.19/angular.js:8814:7) 在 XMLHttpRequest.xhr.onreadystatechange (https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-beta.19/angular.js:8753:11)

我真的不知道如何进行。最终目标是使用隐藏输入字段中的值将用户重定向到 url。我尝试将指令附加到将终端设置为 true 的表单上,但这是一条死胡同。任何帮助,将不胜感激。

【问题讨论】:

标签: javascript angularjs


【解决方案1】:

事实证明,问题在于我的“老派”表单嵌套在 ng-form 指令中。一旦我将表单移到 ng-form 指令之外,它就可以正常工作。还有一些其他的 angularJS 不能很好地处理隐藏的输入字段。下面的 html sn-p 将为任何应对相同挑战的人提供有用的指南:

<form name="goToExchange" action="https://www.healthcare.gov/marketplace/brokerService" method="post" novalidate>
        <input type="hidden" ng-value="exchange.data.onexchange_saml" name="SAMLResponse">
    <button type="submit" class="btn btn-warning btn-lg pointer">Continue application on Healthcare.gov <i class="fa fa-arrow-right"></i></button>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-27
    • 1970-01-01
    • 2017-02-11
    • 2017-10-11
    • 2015-06-15
    • 2016-04-27
    • 2015-08-08
    相关资源
    最近更新 更多