我有一个简单的网页,它使用XMLHttpRequest.response事件返回的 AJAX 请求和结果。这是代码:
$.ajax
({
type : "GET",
dataType : "json",
url : serverUrl,
data : {request: 'check'},
complete: function(xhr, status)
{
var failed = true;
if(status === 'success')
{
alert(typeof(xhr.response));
undefined
最后一行在 Android 2.x上呼应。在 Android 4.x 上它是(如预期的那样)string
。
我在装有 Android 2.3.3 的 LG GT540 和装有 Android 2.2.2 的 GSmart Rola G1317D 上对其进行了测试。这些设备都没有安装移动 Chrome(如果有的话),我使用的是内部系统级浏览器。
我正在使用Zepto
,如果这很重要,但我听说它的.ajax
定义与jQuery
.
在搭载 Android 4.3 的 Samsung Galaxy Nexus 和搭载 Android 4.1.1 的 Sony Xperia E 上测试成功。XMLHttpRequest.response
类型是string
并且网站继续按预期工作。
有人可以确认,这在 Android 2.x 下真的是未定义的吗?如果是 - 在complete
事件中获取服务器响应的正确方法是什么?在这种情况下是否有可能(未定义xhr.response
)或者我是否必须返回到Android 2.x的旧的、好的success
/事件?error