Запрос изменен с POST на OPTIONS висит

Я пытаюсь отправить запрос POST на конечную точку через HTTPS. Запрос имеет 2 заголовка, тип контента (application/json) и apiKey.

Я использую запрос в приложении PhoneGap, построенном в Angular, и когда запрос отправлен, его метод изменен на 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

Любые идеи, что мне нужно делать?

Спасибо

Ответ 1

Браузер автоматически отправит запрос OPTIONS перед отправкой запроса POST. Запрос OPTIONS должен ответить соответствующим ответом, иначе браузер не отправит запрос POST.

Ваши сторонние ребята должны создать два обработчика запросов, один для OPTIONS и один для POST.

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