请求已从POST更改为OPTIONS挂起

时间:2015-02-03 18:00:41

标签: angularjs cors angular-resource

我正在尝试通过HTTPS向端点发送POST请求。 该请求有2个头文件,内容类型(application / json)和apiKey。

我在Angular内置的PhoneGap应用程序中使用该请求,并在发送请求时将其方法更改为OPTIONS。

我知道这是浏览器的标准做法,因为CORS,但我有一个有效载荷,我需要服务器,我告诉服务器人OPTIONS请求有一个空的有效负载与CORS(虽然我可以找不到验证。

服务器已设置为CORS,应接受POST和OPTIONS。

出于某种原因我的请求挂起。

角度代码:

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文件中有

任何想法我需要做什么?

由于

1 个答案:

答案 0 :(得分:0)

浏览器会在发送POST请求之前自动发送OPTIONS请求。 OPTIONS请求必须使用适当的响应进行响应,否则浏览器将不会发送POST请求。

你的后端人员需要创建两个请求处理程序,一个用于OPTIONS,另一个用于POST。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS