我正在为iPhone设计一个网络应用程序。当用户按下按钮时,它会向Web服务器发送一个带有三个值的JSON消息,并作为回报接收JSON状态响应。 javascript在下面。
var args = {};
args.Val1 = parseInt(document.getElementById("Val1").value);
args.Val2 = parseInt(document.getElementById("Val2").value);
args.Val3 = parseInt(document.getElementById("Val3").value);
var jsonString = JSON.stringify(args);
if(window.XMLHttpRequest) // code for IE7+, Firefox, Chrome, Opera,
{
ajaxReq = new XMLHttpRequest();
}
else if(window.ActiveXObject) // code for IE6, IE5
{
ajaxReq = new ActiveXObject("Microsoft.XMLHTTP");
}
ajaxReq.onreadystatechange=function()
{
if (ajaxReq.readyState==4 && ajaxReq.status==200)
{
rsp = JSON.parse(ajaxReq.responseText)
if(parseInt(rsp.Status) == 0)
{
document.getElementById("Status").value = "OK"
}
else
{
document.getElementById("Status").value = "Fail"
}
}
}
ajaxReq.open("POST", "Handler.json", true);
ajaxReq.send(jsonString);
当我使用桌面浏览器(Firefox或Chrome)测试时,它运行正常, 服务器获取消息,并返回状态,状态显示在 屏幕。如果我使用Safari浏览iPhone,则无效。我从来没有得到状态响应,有时浏览器“锁定”并且在我发送时不会发送JSON消息 按下按钮。
有什么想法吗?