Javascript 在api上请求jquery ajax时出现CORS错误
我正在使用jQueryAjax向一些API发送请求。由于CORS策略,我在浏览器控制台上遇到了CORS错误 这里是代码Javascript 在api上请求jquery ajax时出现CORS错误,javascript,jquery,json,ajax,api,Javascript,Jquery,Json,Ajax,Api,我正在使用jQueryAjax向一些API发送请求。由于CORS策略,我在浏览器控制台上遇到了CORS错误 这里是代码 $.ajax({ url: sendHere,//api url type: 'GET', contentType: 'text/plain', crossDomain: true, beforeSend: function(xhr){ xhr.withCredentials
$.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”标头。因此,不允许访问源“”
我试图通过安装一个chrome扩展来解决这个问题,以允许跨源请求。这个扩展以某种方式解决了我的问题,并得到了api的响应。但是安装一个扩展并不好
我还尝试使用JSONP(数据类型:'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);
});
未捕获引用错误:未定义E0002
其中“E0002”是来自api的响应字符串
!!!请帮忙 有两种情况-
cors错误是由浏览器维护的跨源请求策略,以确保安全。
要解决您的问题,您必须在服务器编码中允许cors请求,或者如果您无法访问服务器api代码,则必须从服务器向api服务器进行api调用您可以按照此链接更改
控制台.log(结果)时发生的情况代码>语句为console.log(JSON.stringify(result))
@DavidR即使在console.log(JSON.stringify(result))上也会发生错误,您是否可以尝试在dataType:'jsonp',
语句之后添加jsonp:'callback',
?我已删除type:'GET'
,并将contentType
从contentType:'text/plain',
更改为contentType:'application/JSON',
并使用一个在这里运行良好的Web服务测试了代码=>“谢谢”这很有效。。。我使用PHP作为我的后端代码,并使用它的CURL将请求发送到API,通过该API,我成功地捕获了响应,非常感谢again@SelvesanMalakar如果这对你有效,你可能会认为这是正确的答案。它可能会帮助其他人找到相同/相似问题的正确答案。