请求从 POST 更改为 OPTIONS 挂起
Request changed from POST to OPTIONS hangs
我正在尝试通过 HTTPS 向端点发送 POST 请求。
请求有2个headers, content-type (application/json) 和一个apiKey.
我在 Angular 内置的 PhoneGap 应用程序中使用请求,发送请求时,其方法更改为 OPTIONS。
我知道由于 CORS,这是浏览器的标准做法,但我有一个我需要服务器接收的负载,服务器人员告诉我,OPTIONS 请求有一个带有 CORS 的空负载(尽管我找不到关于此的验证)。
服务器是为 CORS 设置的,应该接受 POST 和 OPTIONS。
由于某种原因,我的请求挂起。
Angular代码:
var submitDBIDResource = $resource(env.loginUserUrl, {}, {
save: {
method: 'POST',
headers: { 'apiKey': apiKey }
}
});
submitDBIDResource.save({"dbid": dbid}).$promise.then(function(data) {
console.log(data);
return data;
});
我的 config.xml 文件中有
知道我需要做什么吗?
谢谢
浏览器在发送POST请求之前会自动发送一个OPTIONS请求。 OPTIONS 请求必须以适当的响应进行响应,否则浏览器将不会发送 POST 请求。
您的后端人员需要创建两个请求处理程序,一个用于选项,一个用于 POST。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
我正在尝试通过 HTTPS 向端点发送 POST 请求。 请求有2个headers, content-type (application/json) 和一个apiKey.
我在 Angular 内置的 PhoneGap 应用程序中使用请求,发送请求时,其方法更改为 OPTIONS。
我知道由于 CORS,这是浏览器的标准做法,但我有一个我需要服务器接收的负载,服务器人员告诉我,OPTIONS 请求有一个带有 CORS 的空负载(尽管我找不到关于此的验证)。
服务器是为 CORS 设置的,应该接受 POST 和 OPTIONS。
由于某种原因,我的请求挂起。
Angular代码:
var submitDBIDResource = $resource(env.loginUserUrl, {}, {
save: {
method: 'POST',
headers: { 'apiKey': apiKey }
}
});
submitDBIDResource.save({"dbid": dbid}).$promise.then(function(data) {
console.log(data);
return data;
});
我的 config.xml 文件中有
知道我需要做什么吗?
谢谢
浏览器在发送POST请求之前会自动发送一个OPTIONS请求。 OPTIONS 请求必须以适当的响应进行响应,否则浏览器将不会发送 POST 请求。
您的后端人员需要创建两个请求处理程序,一个用于选项,一个用于 POST。
https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS