Javascript 使用jQuery 1.8.3和1.9.1的CORS
我正在尝试使用CORS制作补丁/帖子。下面的代码适用于jQuery 1.9.1,但不适用于1.8.3Javascript 使用jQuery 1.8.3和1.9.1的CORS,javascript,jquery,ajax,cors,Javascript,Jquery,Ajax,Cors,我正在尝试使用CORS制作补丁/帖子。下面的代码适用于jQuery 1.9.1,但不适用于1.8.3 var settingsB = { "async": false, "crossDomain": true, "url": "https://wmmr85ap13.execute-api.us-west-2.amazonaws.com/dev/customer/" + m, "method": "PATCH",
var settingsB = {
"async": false,
"crossDomain": true,
"url": "https://wmmr85ap13.execute-api.us-west-2.amazonaws.com/dev/customer/" + m,
"method": "PATCH",
"headers": {
"content-type": "application/json"
},
"data": JSON.stringify({isFirstLogin: "false"})
}
$.ajax(settingsB).done(function (response) {
console.log(response);
});
在jquery 1.8.1中,我得到:
无法加载XMLHttpRequest
?{%27isFirstLogin%27:%20false%20}。
对飞行前请求的响应未通过访问控制检查:否
“Access Control Allow Origin”标头出现在请求的服务器上
资源。来源“
因此不允许访问。响应具有HTTP状态代码
400
我认为CORS在服务器上配置得很好,因为jQuery1.9.1可以工作
使用1.9.1和1.8.3版本发布/修补程序有什么不同吗
编辑:
请参见下面1.9.1与1.8.3调用之间的差异:
jQuery 1.9.0中添加了
方法
参数
方法(默认值:“获取”)
Type:String要用于的HTTP方法 请求(例如“POST”、“GET”、“PUT”)。(新增版本:1.9.0)
需要设置类型和xhrFields
$.ajax({
type : "PATCH", //replaced my method in 1.9
url: cross_domain_url,
xhrFields: {
withCredentials: true
}
});
使用浏览器中的开发人员工具。使用网络选项卡。比较为不同版本的jQuery发送的请求。查看标题或正文的不同之处。永远不要使用
“async”:false
。这是一个可怕的做法,你应该看到反对warnings@Quentin:我附上了网络日志。谢谢!那么如何使用jQuery1.8.1发布/获取?这是一种方法吗?@PedroMagalhaes使用类型
,这是多年来的标准属性