Javascript Android设备未执行对PHP webservice的AJAX调用

Javascript Android设备未执行对PHP webservice的AJAX调用,javascript,php,ajax,cordova,Javascript,Php,Ajax,Cordova,我是HTML5新手。我正在开发一个电话gap应用程序。因为我的web服务和数据库位于服务器上,HTML页面位于通过phone gap库编译的设备上 当我在浏览器上执行HTML页面时,我在浏览器上得到了正确的输出,但当我通过phone gap编译项目,然后在设备上启动应用程序时,并没有响应。 我使用警报消息跟踪流程,因为我发现对webservice的AJAX调用在设备中不起作用 谁能告诉我在这种情况下该怎么办 以下是我用来调用PHP Web服务的代码: <!DOCTYPE html>

我是HTML5新手。我正在开发一个电话gap应用程序。因为我的web服务和数据库位于服务器上,HTML页面位于通过phone gap库编译的设备上

当我在浏览器上执行HTML页面时,我在浏览器上得到了正确的输出,但当我通过phone gap编译项目,然后在设备上启动应用程序时,并没有响应。 我使用警报消息跟踪流程,因为我发现对webservice的AJAX调用在设备中不起作用

谁能告诉我在这种情况下该怎么办

以下是我用来调用PHP Web服务的代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>JSONP Echo Client</title>
  <meta charset="UTF-8" />

  <script>
    "use strict";
    function jsonp(url) {
      var head = document.head;
      var script = document.createElement("script");
      script.setAttribute("src", url);
      head.appendChild(script);
      head.removeChild(script);
    }

    function jsonpCallback(data) {
      document.getElementById("response").textContent = JSON.stringify(data);
    }

//jsonp("http://www.cjihrig.com/development/jsonp/jsonp.php?callback=jsonpCallback&message=Hello");

    jsonp("http://192.168.1.161/hotelTab/login1.php?callback=jsonpCallback&adminMasterUserName=admin&adminMasterPassword=admin");
  </script>
</head>
<body>
  <span id="response"></span>
</body>
</html>

JSONP回送客户端
“严格使用”;
函数jsonp(url){
var head=document.head;
var script=document.createElement(“脚本”);
setAttribute(“src”,url);
head.appendChild(脚本);
head.removeChild(脚本);
}
函数jsonpCallback(数据){
document.getElementById(“response”).textContent=JSON.stringify(数据);
}
//jsonp(“http://www.cjihrig.com/development/jsonp/jsonp.php?callback=jsonpCallback&message=Hello");
jsonp(“http://192.168.1.161/hotelTab/login1.php?callback=jsonpCallback&adminMasterUserName=admin&adminMasterPassword=admin");

您可以尝试更改代码,使其看起来更像这样,并将其放入JavaScript文件中:

    $(document).on(function(){
    $(document).bind('deviceready', function(){
        //Phonegap ready
        onDeviceReady();
    });

    $( document ).bind( "mobileinit", function() {
          // Make your jQuery Mobile framework configuration changes here!

          $.mobile.allowCrossDomainPages = true;
        });

    var output = $('#output');

    $.ajax({
        type: 'GET',
        url: 'http://yourwebaddress/yourfile.php?&jsoncallback=?',
        dataType: 'JSONp',
        timeout: 5000,
        success: function(data, status){
            $.each(data, function(i,item){ 
                var yourvar= 'what you want'
                + 'more stuff';

                output.append(where you want it);
            });
        },
        error: function(){
           output.text('There was an error loading the data.');
        }
    });
   });

嗯,目前这里没有AJAX;您必须首先创建一个AJAX对象。因此,您可以使用jsonp()在标头中创建一个标记,并且jsonpCallback(data)将附加“data”以便。。我没有得到你想要做的。。没有ajax。。了解没有jquery的ajax请求:从设备发回链接是否有问题,可能是因为它们不在同一子网中?我看到你在你的url上使用了私有IP。您的设备在网络上注册了吗?这不是正确的ajax调用。您需要使用$.ajax或$.getJSON从调用webservicephonegap@BhaveshParekh然后,她还需要使用jquery。在代码上看不到这方面的参考。