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