【发布时间】:2016-08-12 14:30:19
【问题描述】:
我有一个 AngularJS 应用程序,我需要将数据发布到第三方 URL,该 URL 用于在第三方服务器上存储一些数据。当我在下面运行我的代码时出现以下错误: XMLHttpRequest 无法加载 http://thirdparty.url.com/。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://localhost:51491' 因此不允许访问。
我在 AngularJS 工厂中运行的代码是:
return $http({
url: '//thirdparty.url.com',
method: "POST",
data: params_string,
headers: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT',
'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Type, Accept'
}
});
【问题讨论】:
-
看看这篇文章,它可能对你有帮助:stackoverflow.com/questions/21102690/…
-
服务器不允许您的 url 访问数据。您可以使用 JSONP 访问,也可以要求服务器端开发人员允许您的 url 访问数据
-
我认为这不是 chrome 问题。我在 Firefox 中尝试并得到错误“跨域请求被阻止:同源策略不允许读取thirdparty.url.com 的远程资源。(原因:CORS 标头'Access-Control-Allow-Origin'缺失)。”
-
如果我要将我的应用程序部署到一个实际的网站(不是本地主机),那么我是否相信第三方 URL 应该接受我的请求?
标签: javascript angularjs cors