我遇到了一个无法解决的问题。
我有一些 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 headers 里还有什么需要设置的吗?我尝试了一天的时间来寻找答案,但没有成功。我的猜测是关于Access-Control-Allow-Headers
但我仍然找不到有效的例子。
您需要设置以下标头:
Access-Control-Allow-Headers: Content-Type
您可能还需要将其他标头放入该列表中。确定要添加哪些标头的最佳方法是检查请求上的 Access-Control-Request-Headers 标头,并查看其要求的值,然后在上面的响应中回显这些值。
Content-Type 需要包含在此标头中的原因是因为您要求非标准值(“application/x-www-form-urlencoded”是标准值)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)