Gje*_*t G 2 google-chrome cors
我曾在AngularJS中使用过一些以前的API,但是一直有使用该OPTIONS方法的预检.现在我正在从头开始构建一个新的API,出于某种原因,AngularJS不会发送预检请求.
根据我的经验,AngularJS在使用时总是发送预检CORS,但不是在我的情况下.所以问题是,如果AngularJS中没有请求与一个AngularJS不同的域进行托管,那么是什么触发了AngularJS中的预检?
我的例子很简单,看起来像这样:
$scope.submit = function () {
$http.post('https://slimapi.devz/')
.then(function successCallback(response){
alert(response.data);
}, function errorCallback(response) {
console.log(response);
});
}
Run Code Online (Sandbox Code Playgroud)
请求的URL是https://slimfrontend.devz/.
铬得到由在响应头触发XHR与POST方法,并且将不显示的结果,然而,其结果是被取出(如图中的时间线).但同样,没有OPTIONS预检的迹象.
这是我的请求看起来像的图片,正如您可以通过箭头看到的那样.Chrome确实检测到原始的不匹配.
特别是,如果满足以下任一条件,则会预检请求:
(我解释下面的其余部分)
Content-Type它不是enctypeHTML属性的有效值<form>IIRC,Angular默认发送application/json有效载荷(触发上述最终条件).
你的例子是一个POST请求,你没有发布任何数据(这是奇怪的),因此没有Content-Type.
| 归档时间: |
|
| 查看次数: |
4966 次 |
| 最近记录: |