jquery ajax请求api时出现CORS错误
CORS error when jquery ajax request on api
我使用jQuery ajax发送请求到一些API。由于CORS策略,我在浏览器的控制台得到了一个CORS错误
下面是代码
$.ajax({
url: sendHere,//api url
type: 'GET',
contentType: 'text/plain',
crossDomain: true,
beforeSend: function(xhr){
xhr.withCredentials = true;
},
}).done(function (result) {
console.log(result);
}).error(function (err) {
//console.log(err);
});
误差请求的资源上存在'Access-Control-Allow-Origin'标头。因此,不允许访问源'http://www.mywebsite.com'。
我试图通过安装一个chrome扩展来解决这个问题,以允许跨原产地请求。这个扩展以某种方式解决了我的问题,并得到了api的响应。但是安装一个扩展是不好的。
我也试着用JSONP(dataType:' JSONP ')请求,但api给出的响应不是json格式,它是字符串,所以它给出了一个错误。
JSONP代码
$.ajax({
url: sendHere,//api url
type: 'GET',
crossDomain: true,
dataType:'jsonp',
}).done(function (result) {
console.log(result);
}).error(function (err) {
//console.log(err);
});
Uncaught ReferenceError: E0002没有定义其中"E0002"是来自api
的响应字符串。! !请帮助! !
有两种情况
-
如果你对api代码有控制权,那么
在header中进行更改并添加原点。
-
如果您无法控制更改来自的CORS头api
你只有一个选择,用你喜欢的任何语言创建一个后端代码(你自己的api),发出HTTP请求并获取数据。
cors错误是浏览器为安全而维护的跨域请求策略。要解决您的问题,要么您必须在服务器编码中允许cors请求,要么如果您无法访问服务器api代码,则必须从服务器向api服务器进行api调用
相关文章:
- 与域在同一台计算机上运行的NODEJS服务器的CORS错误
- XMLHttpRequest在$.ajax工作的地方给出了CORS错误
- 在Polymer中使用核心ajax时出现CORS错误
- 在 AngularJS 和 CodeIgniter3 中开机自检数据时出现 CORS 错误
- AngularJS应用程序中的CORS错误
- Meteor:使用HTTP.get从客户端访问网站(CORS错误)
- Catching'阻止加载混合活动内容'CORS错误
- ajax请求出现CORS错误
- 加载模板时出现AngularJS、Localhost和CORS错误
- 谷歌加 CORS 错误
- 同一域上的 CORS 错误
- 使用 elasticsearch.js 时出现 CORS 错误
- 护照节点.js CORS 错误
- 简单请求中的 Cors 错误:请求标头字段 预检响应中的访问控制-允许-标头不允许授权
- Firefox 和 chrome 的 CORS 错误
- 重定向时出现机架 CORS 错误
- 从localhost使用谷歌联系人api创建联系人时出现CORS错误
- Facebook oEmbed端点CORS错误
- 在Angular中使用解析客户端密钥会导致CORS错误
- 从文件//scheme运行的应用程序出现CORS错误