我正在为 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)对此进行测试时,它工作得很好,服务器获取消息并返回状态,并且状态显示在屏幕上。如果我使用 iPhone 使用 Safari 浏览,它不起作用。我从来没有收到状态响应,有时浏览器“锁定”并且在我按下按钮时不会发送 JSON 消息。
有任何想法吗?