iPhone Mobile Safari上的AJAX响应为空

时间:2011-07-05 04:41:04

标签: ajax web-applications mobile-safari iphone

我们运行一项网络服务,并使用PhoneGap构建了一个网站作为网络应用程序和iPhone应用程序。我们在网页和PhoneGap页面中使用ajax与我们的服务器进行通信。在我们的一个测试设备(iPhone 3Gs,iOS 4.3.2)不断从XMLHttpRequest获取空响应体之前,一切似乎都很好。

我们在网络应用程序中使用jQuery.ajax,并使用XMLHttpRequest在PhoneGap应用程序中实现了类似的功能。我们首先发现PhoneGap应用程序无法在'wretched'iPhone 3Gs上登录我们的服务器,然后在其Mobile Safari上尝试使用该网络应用程序,发现它失败了。但是,其他网站(谷歌,GMail,Twitter等)与其移动Safari一起使用没有任何问题,我们的其他设备(甚至所有iPhone 4.x模拟器)都没有这个问题。

我们调试了代码,发现我们从XMLHttpRequest获取的responseText格式不正确。当我们将它作为JSON解析为一个对象时,结果是一个空字符串(“”)。但是,状态代码是正确的。

有没有人听说过这样的问题?我们没有其他带有iOS 4.3.2的iPhone 3Gs,因此我们很难确定这是否是操作系统方面的问题。

2 个答案:

答案 0 :(得分:0)

是否可能与此问题有关:https://github.com/jquery/jquery-mobile/issues/2521?如果是这样,结论似乎是在该版本的Safari中存在问题。

即使该错误不相同,您也可以尝试更改/删除链接的rel属性,并禁用JQuery的pushState以进一步缩小问题范围。

如果您还没有尝试过,我建议您尽可能多地使用该页面的本地副本并减少其内容,以尝试找到最小的罪犯,即仍然展示的最小版本的页面问题。

答案 1 :(得分:-1)