Jquery Ajax Post中的CORS问题

我正在从jquery做ajax post,这样我将调用属于不同域的两个rest服务来执行我的业务逻辑。 虽然这样做,我得到一个CORS问题和谷歌引用,我添加crossDomain:true到我的ajax现在,只有当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!!'); } }); 

如果在Ajax中添加标头,则出错如下

“错误!” “error”“”Object {readyState:0,getResponseHeader:.ajax / jqXHR.getResponseHeader(),getAllResponseHeaders:.ajax / jqXHR.getAllResponseHeaders(),setRequestHeader:.ajax / jqXHR.setRequestHeader(),overrideMimeType:.ajax / jqXHR .overrideMimeType(),statusCode:.ajax / jqXHR.statusCode(),abort:.ajax / jqXHR.abort(),state:.Deferred / promise.state(),always:.Deferred / promise.always(),then :.Deferred / promise.then(),另外11个……}

添加自定义标头使其成为一个复杂的请求,要求Preflight OPTIONS请求在发出POST请求之前接收CORS权限。

检查浏览器的开发人员工具Net选项卡。 您应该在那里看到OPTIONS请求。

您需要配置服务器以使用您为实际需要的URL设置的Access-Control标头来响应它。