【问题标题】:IIS 7 Cors Ajax Soap requestIIS 7 Cors Ajax Soap 请求
【发布时间】:2012-04-20 01:26:47
【问题描述】:

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

我有一些 js (jquery) POST soap (over 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,但我仍然找不到有效的示例。

【问题讨论】:

  • 我们的 Java REST 服务有一个 @Consumes 注释,用于强制请求内容类型。也许你有一些需要调整的方面。
  • 事情是它在同一个域上设置时工作正常,但只有在使用 cors 时才会出现问题(我在某些页面上收集数据,然后通过 https 将指纹发送到服务)。如前所述,在 apache 上工作顺利,但我需要将其移植到 iis 7。所以我的推断是它严格连接到 Access-Control-Allow-Headers,但我可能错了

标签: javascript ajax soap iis-7 cors


【解决方案1】:

您需要设置以下标头:

Access-Control-Allow-Headers: Content-Type

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

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

【讨论】:

  • omg,在阅读了所有文档和资料后,我想更多的是允许头文件保存类型而不是头字段的名称。甚至开发 Mozilla 示例也无法正常工作。上帝保佑你;]
猜你喜欢
  • 2013-10-16
  • 2015-12-15
  • 2013-12-24
  • 2019-04-14
  • 1970-01-01
  • 2014-04-25
  • 2015-03-01
  • 1970-01-01
  • 2016-04-29
相关资源
最近更新 更多