我正在使用 jQuery ajax 从我的站点向 asmx 服务发出跨域请求,如下所示:
$j.ajax({
url: svcURL,
type: "POST",
data: xml,
contentType: "text/xml",
dataType: "text",
success: function(d) {
alert(d);
},
error: function(a, b, c) {
alert("error");
}
});
此POST
请求之前是一个预检OPTIONS
请求,该服务当前未配置为处理该请求,因此它返回 a500 (Internal Server Error)
或 a 405 (Method Not Allowed)
。
收到此错误后,我希望浏览器忽略该POST
请求并返回错误,但是:
在 Chrome 和 IE中,POST
请求仍然被发送(服务被正确配置为处理)并收到响应。
在 Firefox中,POST
只是返回一个错误。
有人可以解释为什么这在 Chrome 中有效吗?我本来希望它表现得像 Firefox 那样。
感谢您提前提供任何帮助。