移动设备上的AJAX请求无法正常工作

时间:2013-10-15 04:32:03

标签: javascript ajax asynchronous web

我在移动设备上运行AJAX时遇到问题,我有一个支持票据的简单站点...我无法从服务器获得异步响应......

提出请求,但我没有收到回复

我在Android 4.0.3和我的Sony Xperi 4.1.2

的表格中进行测试

页面加载但不处理Javascript异步请求

这是我的代码:

function ajaxAsyncRequest(htmlEntityTarget, progressTarget, requestKey, queryId) {
    if (window.XMLHttpRequest) {
        xmlhttp = new XMLHttpRequest();
        document.getElementById(progressTarget).innerHTML = "Processing Request...";
    }

    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {            

            switch(requestKey) {
                case "loadTickets":
                    document.getElementById(htmlEntityTarget).innerHTML = xmlhttp.responseText;                                        
                    document.getElementById(progressTarget).innerHTML = "Done Processing! Tickets Loaded!";
                    break;
                case "loadTicketConversation":
                    document.getElementById(htmlEntityTarget).innerHTML = xmlhttp.responseText;                                        
                    document.getElementById(progressTarget).innerHTML = "Done Processing! Conversations Loaded!";
                    break;
                default:
                    document.getElementById(htmlEntityTarget).innerHTML = "failed response";
                    break;
            }

        }

    }

    xmlhttp.open("GET", "http://localhost/helpdesk/main/serverRouting/serverRoutingEntryPoint.php?key=" + requestKey + "&&queryId=" + queryId, true);
    xmlhttp.send();
}

1 个答案:

答案 0 :(得分:3)

您需要使用提供服务的服务器的URL。如果您使用的是托管服务,那么它将是您的域名。如果您使用的是本地服务器,则它将是您在本地DNS中分配的任何名称,假设您的移动设备具有Wifi连接。如果他们使用3G或GPRS,事情会变得更加复杂。