我正在尝试向服务器发送CORS POST请求。
在Chrome中,这可以正常工作 - OPTIONS预检请求发送到服务器,服务器响应访问控制标头,发送POST请求。当我尝试在IE或Firefox中执行此操作时,没有使用OPTIONS请求发送引用,因此我无法添加access-control-allow-origin标头(因为这是以编程方式完成的)。
Javascript是:
$.ajax({
url: $(this).attr('href'),
type: 'POST',
xhrFields: {
withCredentials: true,
},
contentType: 'application/json; charset=utf-8;',
data: JSON.stringify(data),
success: function (response) {
alert(response);
},
});
return false;
});
有没有办法保证推荐人将与OPTIONS预检请求一起发送?如果没有 - 是否有另一种获取引用URL的方法,以便我可以添加allow origin header?
答案 0 :(得分:2)
通过使用与预检请求一起发送的Origin标头解决了这个问题。因此,如果Origin URL是可接受的主机之一,请使用原始URL添加access-control-allow-origin标头。