1

我正在为 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 消息。

有任何想法吗?

4

0 回答 0