Могу ли я как-то подавить предварительный запрос с помощью Angular2?

Я пытаюсь сделать HTTP-запрос со следующими заголовками:

headers.append("Content-Type", "text/xml; charset=utf-8");
headers.append("SOAPAction", "<domain>/<function-name>");

который запускает предварительный запрос.

На стороне сервера я использую IIS 7.5.x и службу .asmx. Я могу заставить все работать, если запущу Chrome без веб-безопасности. Я уже установил «Access-Control-Allow-Headers» и «Access-Control-Allow-Origin», уменьшив «объем ошибок». Я так хочу, чтобы для этого была настройка web.config, чтобы она работала.

См. также этот ответ, но в контексте AngularJS: https://stackoverflow.com/a/33662315/1613772


person Pascal    schedule 03.12.2016    source источник


Ответы (1)


Предварительный запрос выполняется браузером без каких-либо слов в Angular2. Так что в основном ответ - нет.

Один из способов, который работает в простых случаях, — использовать JSONP.

https://angular.io/docs/ts/latest/guide/server-communication.html#!#cors

Возможно, вам придется добавить POST к Access-ControlAllow-Methods

person Günter Zöchbauer    schedule 03.12.2016
comment
Спасибо за направление. Но служба .asmx должна иметь тело XML в запросе. Насколько я знаю, нет способа просто переключить что-то, чтобы вы могли использовать JSONP. - person Pascal; 03.12.2016