gpt4 book ai didi

javascript - Ajax/ header 不匹配?

转载 作者:行者123 更新时间:2023-11-29 13:58:25 26 4
gpt4 key购买 nike

我希望有人能为我回答这个问题,我不是服务器方面的专家,所以如果我完全不对请原谅。

我正在使用 Android webview (PhoneGap 1.4.1) 进行 Ajax 调用,但我在每次调用时一直处于就绪状态 4 状态 0。在过去的几个小时里,我一直在调查这个问题,我可能已经知道原因了。我使用 xhaus.com/headers 检查我的请求,发现在 WebView 中我的“接受” header 是:

text/xml, text/html, application/xhtml+xml, image/png, text/plain, /;q=0.8

但是,如果我打开 Android 浏览器并以这种方式检查我的 header ,我会看到我的“接受” header 是:

application/xml, application/xhtml+xml, text/html;q=0.9, text/plain;q=0.8, image/png, /;q=0.5

我检查了提供 XML 的服务器,发现返回头的“Content-Type”设置为:

应用程序/xml

我的第一个问题是:Webview 似乎不支持“application/xml”类型,这可能是我遇到问题的原因吗?或者我在这里完全偏离了基地?

第二个问题:我可以在客户端做些什么来解决这个问题,还是服务器管理员需要进行更改?我正在使用 GET 发出请求。

第三个问题:这正常吗?为什么 WebView /浏览器会有这种不匹配?

我的应用程序已经在 10 多部手机上进行了测试,只有 2 部手机有这个问题......很奇怪。

谢谢,

最佳答案

我可能是错的,但听起来您是在调用 Web 服务?某些服务支持多种调用策略,具体取决于您传递的内容类型 header 。

例如,SharePoint Web 服务同时支持 SOAP 1.0(如果 Content-type 发送为“text/xml; charset=utf-8”)和 SOAP 1.2(如果 Content-type 设置为“application/soap+xml” ).

在您的情况下,我会尝试将内容类型设置为“text/xml;charset=utf-8”,然后看看会发生什么。

至于“接受” header ,如果根据传递的值服务器响应 Not Acceptable ,则它应该传递状态 406( Not Acceptable )。它可能只是服务器中的一个错误,或者它不是的任何步骤之间的错误。使用像 Fiddler 这样的工具,您应该能够重新创建这两个请求(“接受”的两个变体)并准确查看服务器响应的内容 - 这可能是真正弄清事情真相的最简单方法。

关于javascript - Ajax/ header 不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10860207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com