繁体   English   中英

CORS预检OPTIONS请求返回错误,但仍在发送POST

[英]CORS preflight OPTIONS request returning error, but POST still being sent

我正在使用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请求,该服务当前未配置为处理该请求,因此它返回500 (Internal Server Error)405 (Method Not Allowed)

收到此错误后,我希望浏览器随后忽略POST请求并返回错误,但是:

在Chrome和IE中 ,仍然发送POST请求(已正确配置服务以进行处理)并收到响应。

在Firefox中POST仅返回错误。

有人可以解释为什么该功能可以在Chrome浏览器中使用吗? 我本来希望它表现出Firefox的功能。

感谢您的任何帮助。

即使OPTIONS请求失败,ChromeWebKit中也存在一个错误,错误会发送后续请求。

Firefox会正确遵循CORS规范,并且在预检失败后会取消请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM