android browser ajax,使用jQuery Ajax的Android浏览器问题以及使用appcache时的问题

在Android 4.0, 4.1和4.2的内置浏览器中遇到Ajax调用问题:首次加载时正常,但退出并重新启动浏览器后,Ajax调用失败,返回错误状态为0,readyState为0。问题不复现于其他Android或iOS的现代浏览器。已创建测试脚本演示此问题,寻求解决方案。
摘要由CSDN通过智能技术生成

我们在

Android 4.0,4.1和4.2上有内置浏览器的问题(我们没有更低的东西可以测试).

问题是ajax调用在第一次加载时会完美运行,你可以根据需要多次按下运行Ajax按钮,这样就可以了.您可以断开互联网连接,它将正常工作.

但是如果您退出(完全确保它不仅仅在后台运行)浏览器然后重新启动它,它将在加载时失败并按下按钮.如果您在线或离线并不重要.

从ajax调用返回的错误是“Error”,status = 0,readyState = 0.

当它成功时,你会收到一条消息,说“从Ajax Call调用”,状态= 200,readyState = 4.

代码可以在我们在Android Chrome,Firefox和Opera上测试过的所有其他浏览器上找到.在IOS 5和6上它可以工作,我们可以找到每个桌面浏览器.

有没有我遗漏的内容或者我们在内置浏览器中发现了一个错误.任何有关这方面的帮助都会受到欢迎,特别是如果它只是我做过的蠢事.

我们已经创建了一个测试脚本,可以很好地演示这个问题,我将它附加到此消息的底部.

谢谢

蒂姆

test.PHP的

function displayPage() {

?>

test

function runAjaxGet() {

var XMLHttpRequest = $.ajax({

url: "test.PHP",dataType: "json",data: "test=test",traditional: "true",success: function( responseData ) {

alert('good\n responseData: '+responseData+ '\n res:' + XMLHttpRequest.responseText +'\n readyState: '+ XMLHttpRequest.readyState + '\n Status: '+XMLHttpRequest.status );

console.log(XMLHttpRequest);

},error: function (xhr,ajaxOptions,thrownError,responseData) {

alert('bad\n responseData: '+responseData+ '\n res:' + XMLHttpRequest.responseText +'\n readyState: '+ XMLHttpRequest.readyState + '\n Status: '+XMLHttpRequest.status);

console.log(XMLHttpRequest);

}

});

}

$(document).ready(function() {

runAjaxGet();

});

Run Ajax

}

function processRequests() {

header("Content-Type: application/json; charset=UTF-8" );

echo (json_encode("respose from Ajax Call"));

}

date_default_timezone_set ( "UTC" );

if (isset($_REQUEST['test'])) {

$which = $_REQUEST['test'];

} else {

$which = '';

}

switch ($which) {

case "test":

processRequests();

break;

default :

displayPage();

break;

}

?>

test.manifest

CACHE MANIFEST

test.PHP

jquery-1.9.0.min.js

test.PHP?test=test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值