【问题标题】:How do I fix the XMLHttpRequest cannot load on noodlio-pay on Ionic?如何修复 XMLHttpRequest 无法在 Ionic 上的 noodlio-pay 上加载?
【发布时间】:2017-03-12 04:55:41
【问题描述】:

这是我遇到的错误?我几乎到处都在环顾四周。我不明白,我对此很陌生。

XMLHttpRequest 无法加载 https://noodlio-pay.p.mashape.com/tokens/create。通配符 '*' 不能 在“Access-Control-Allow-Origin”标头中使用 凭据标志为真。因此,原点 'http://localhost:8102' 是 不允许访问。 XMLHttpRequest 的凭证模式是 由 withCredentials 属性控制。

controllers.js:3763 null

【问题讨论】:

  • 错误看起来一清二楚,标题错误,您不能使用凭据同时允许所有人访问。
  • 抱歉,我不明白您所说的“您不能使用凭据同时允许所有人访问”是什么意思?我对此很陌生。如果您能提供帮助,我将非常感激。谢谢
  • 您尝试与您的 ajax 请求联系的服务器发送标头 Access-Control-Allow-Credentials: true,这意味着您正在使用凭据。同时,同一台服务器正在发送标头Access-Control-Allow-Origin: *,这意味着任何来源都可以访问该服务器,而无需应用同源策略。你不能同时拥有两者,如果任何人都可以访问,那么使用凭据是没有意义的。
  • 如果设置 Access-Control-Allow-Credentials: false 或删除它对该控制器工作正常,但其他一切都不起作用
  • 我收到一个新错误XMLHttpRequest cannot load http://localhost/app/index.php/json/getAllMenuType?pageno=1&maxrow=15. Request header field X-Mashape-Key is not allowed by Access-Control-Allow-Headers in preflight response

标签: javascript angularjs ionic-framework xmlhttprequest


【解决方案1】:

你试过Enable cros on ionic。并检查服务器端是否允许 cros

【讨论】:

  • 我认为你没有在服务器端启用 CROS..检查它
  • 如何在服务器端启用 CROS?
  • 访问控制允许来源:*
【解决方案2】:

我不知道我是如何修复它的,但我取得了一些进展,这就是我的做法,现在它似乎可以工作:

在我的 app.js --> .config 我删除了

$httpProvider.defaults.withCredentials = true;

并替换它

var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://localhost:8102/', true); xhr.withCredentials = true; xhr.send(null);

然后工作,但是当这些标头在控制器中被调用时,它又崩溃了。

// add the following headers for authentication $http.defaults.headers.common['X-Mashape-Key'] = NOODLIO_PAY_API_KEY; $http.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded'; $http.defaults.headers.common['Accept'] = 'application/json';

所以我决定在函数中添加这些标题,并在单击按钮时调用它们。

就这样

$scope.headerscheck = function(){

// 添加以下头进行身份验证 $http.defaults.headers.common['X-Mashape-Key'] = NOODLIO_PAY_API_KEY; $http.defaults.headers.common['Content-Type'] = 'application/x-www-form-urlencoded'; $http.defaults.headers.common['Accept'] = 'application/json';

}

但现在我不知道如何在使用后不刷新的情况下杀死范围功能。

【讨论】:

    猜你喜欢
    • 2016-09-06
    • 2020-09-07
    • 2014-10-17
    • 2016-05-29
    • 1970-01-01
    • 2021-10-19
    • 2011-11-01
    • 1970-01-01
    相关资源
    最近更新 更多