2016-12-03 8 views
1

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

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

ответ

2

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

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

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

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

+1

Спасибо за направление. Но служба .asmx должна иметь тело XML в запросе. Насколько я знаю, нет способа просто переключить «что-то», чтобы вы могли использовать JSONP. – Pascal