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

回到顶部