我被困在这两天我找不到解决方案。
当我执行 AngularJS POST 时,它会在标头中发送选项并从 API 返回错误,代码看起来没什么特别的。
$http.defaults.headers.post["Content-Type"] = "application/json";
$http.post(URL, JSON.stringify(data)).
success(function(data, status, headers, config) {
alert(data);
error(function(data, status, headers, config) {
console.log("Error");
});
CORS 在 API 上启用,它具有标头,当我在 Chrome 中使用 fiddler 或 POSTMan 进行 POST 时,只有当我使用 angularJS post 时它才能正常工作,它不会通过。
为什么我得到OPTIONS /SubmitTicket HTTP/1.1 instead of POST?
我需要做什么才能发布?我读过它,它说类似 CORS 正在添加 OPTIONS 标头,但为什么呢?
当您调用 CORS 请求时,浏览器始终会向服务器发送 OPTIONS 请求,以了解实际允许哪些方法。所以这是期望的行为。这就是所谓的:“预检请求”,请参阅:http://www.nczonline.net/blog/2010/05/25/cross-domain-ajax-with-cross-origin-resource-sharing/(部分:“预检请求”)
因此,在您的情况下,您必须允许 CORS 过滤器的“Access-Control-Allow-Methods”标头中的 OPTIONS 方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)