我正在尝试使用以下标头执行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
答案 0 :(得分:2)
预检请求由浏览器发出,而Angular2中没有任何谚语。所以基本上答案是否定的。
在简单的情况下,一种方法是使用JSONP
https://angular.io/docs/ts/latest/guide/server-communication.html#!#cors
您可能需要将POST
添加到Access-ControlAllow-Methods