我注意到我的 Angular 也在每个 POST 请求之前创建 OPTIONS 请求。
我正在使用自定义 API 服务来处理 HTTP 请求。
app.service('ApiService', function ($http) {
/**
* Process remote POST request to give URL with given params
* @param {String} url
* @param {String} POST params
* @return {JSON} response from server
*/
this.doHttpRequest = function (type, url, params) {
return $http({
method: type,
url: url,
data: params,
timeout: 5000,
headers: {
"Content-Type": "application/json",
}
});
}
});
问题是:
我如何禁用它(哪些配置值放在哪里)?
OPTIONS 有什么好处吗?
我认为这就像“两台服务器之间的握手”。
角度版本:1.2.15
感谢您的任何建议。
那不是角度。它是 XMLHttpRequest。
复杂的跨域HTTP请求需要飞行前 OPTIONS 请求 https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Preflighted_requests这样浏览器就可以知道其他服务器是否会授予 Ajax 请求的权限。
无法确保您发出的 Ajax 请求是simple https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS#Simple_requests,没有办法阻止 OPTIONS 请求。
一个简单的请求:
- 仅使用 GET、HEAD 或 POST。如果使用 POST 向服务器发送数据,则通过 HTTP POST 请求发送到服务器的数据的 Content-Type 是 application/x-www-form-urlencoded、multipart/form-data 或 text/plain 之一。
- 不使用 HTTP 请求设置自定义标头(例如 X-Modified 等)
除非您希望放弃发送 JSON,否则您不能为此使用简单的请求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)