【发布时间】:2011-09-28 12:18:20
【问题描述】:
我们运行 Web 服务,并使用 PhoneGap 为它构建了一个 Web 应用程序和 iPhone 应用程序的网站。我们在网页和 PhoneGap 页面中都使用 ajax 来与我们的服务器通信。一切似乎都很好,直到我们的一台测试设备(iPhone 3Gs、iOS 4.3.2)不断地从 XMLHttpRequest 获得空响应体。
我们在 Web 应用程序中使用 jQuery.ajax,并在 PhoneGap 应用程序中使用 XMLHttpRequest 实现了类似的功能。我们首先发现 PhoneGap 应用程序无法在“糟糕”的 iPhone 3Gs 上登录我们的服务器,然后在其 Mobile Safari 上尝试了 Web 应用程序,发现同样失败。但是,其他网站(Google、GMail、Twitter 等)在其 Mobile Safari 上运行没有任何问题,我们的其他设备(甚至所有 iPhone 4.x 模拟器)都没有这个问题。
我们调试了我们的代码,发现我们从 XMLHttpRequest 得到的 responseText 格式不正确。当我们将它作为 JSON 解析成一个对象时,结果是一个空字符串 ("")。但是,状态码是正确的。
有没有人听说过这个问题?我们没有其他运行 iOS 4.3.2 的 iPhone 3G,因此我们很难确定这是否是操作系统方面的问题。
【问题讨论】:
-
您说的是空响应正文和格式错误的响应。哪种情况?您可以发布原始输出吗?你能创建并调用一个只返回一个变量的测试方法吗?你能显示格式化响应的代码吗?服务是用什么语言编写的?
标签: ajax web-applications mobile-safari iphone