Jquery Ajax Post中的CORS问题
我正在从jquery做ajax发布,这样我将调用两个属于不同域的rest服务来执行我的业务逻辑。这样做时,我遇到了一个CORS问题,并使用了Google引用,我对我的ajax添加了crossDomain:true,现在,仅当在ajax中未指定标头(如下所示)并且如果我添加标头时,此方法才能完全正常低于错误。请指教。
$.ajax({ method : 'post',
dataType: 'json',
crossDomain: true,
headers : {
"country" : "us",
},
url : 'myurl.do',
async : true,
beforeSend : function() {
},
success : function(data) {
console.log('success', data);
},
error : function(request, status, error) {
console.log('Error!', status, error, request);
},
complete : function() {
console.log('Completed!!');
}
});
回答:
“错误!” “错误”“”对象{readyState:0,getResponseHeader:.ajax /
jqXHR.getResponseHeader(),getAllResponseHeaders:.ajax /
jqXHR.getAllResponseHeaders(),setRequestHeader:.ajax /
jqXHR.setRequestHeader(),override / MimeType :.
.overrideMimeType(),statusCode:.ajax / jqXHR.statusCode(),中止:.ajax /
jqXHR.abort(),状态:.Deferred / promise.state(),始终:.Deferred /
promise.always(),然后:.Deferred / promise.then(),还有11个…}
回答:
添加自定义标头使其成为一个复杂的请求,要求发出Preflight OPTIONS请求才能在发出POST请求之前获得CORS权限。
检查浏览器的开发人员工具“网络”选项卡。您应该在那里看到OPTIONS请求。
您需要配置服务器,以使用针对实际需要的URL设置的访问控制标头来对其进行响应。
以上是 Jquery Ajax Post中的CORS问题 的全部内容, 来源链接: utcz.com/qa/428213.html