IIS 7 Cors Ajax Soap request

IIS 7 Cors Ajax Soap request

本文关键字:Soap request Ajax Cors IIS      更新时间:2023-09-26

我遇到了一个无法解决的问题。

我有一些js(jquery)POST soap(通过PHP)请求代码在Apache上工作,启用了Cors来调用HTTPS,并且工作正常。

我已迁移到 IIS7,设置响应标头:

Access-Control-Allow-Origin = *
Access-Control-Allow-Methods = POST`

现在在发送时被扼杀

Content-Type: text/xml;

它被拒绝,但在发送默认值时

application/x-www-form-urlencoded

我得到了响应(当然是来自 Soap 服务器的错误响应,但仍然意味着 Cors 为此工作)。

所以问题是,在 iis 标头中是否还有其他要设置的内容? 我试图找到一天的答案,但没有运气。我的猜测是关于Access-Control-Allow-Headers但我仍然找不到有效的例子。

您需要设置以下标头:

Access-Control-Allow-Headers: Content-Type

您可能还必须在该列表中放置其他标头。确定要添加哪些标头的最佳方法是检查请求上的 Access-Control-Request-Headers 标头,并查看它要求的值,然后在上面的响应中回显这些值。

Content-Type 需要包含在此标头中的原因是,您请求的是非标准值('application/x-www-form-urlencoded' 是标准值)。