我能以某种方式使用Angular2来抑制预检请求吗?

时间:2016-12-03 16:33:04

标签: .net angular cors asmx preflight

我正在尝试使用以下标头执行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

1 个答案:

答案 0 :(得分:2)

预检请求由浏览器发出,而Angular2中没有任何谚语。所以基本上答案是否定的。

在简单的情况下,一种方法是使用JSONP

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

您可能需要将POST添加到Access-ControlAllow-Methods