我正在使用phonegap并尝试使用ajax获取用户列表 打电话但我的功能在移动设备上没有返回它的工作 在浏览器中很好
这里是函数和url数据是xml格式
$(document).ready(function(){
$.ajax({
type: "POST",
url: "http://my_server_url/user/selectuser",
dataType: 'jsonp',
crossDomain: true,
processData: true,
cache: false,
success: function(data)
{
alert("Success:"+data.detail[0].Username);
},
error: function(data){
alert("Error:"+data);
},
statusCode: {
404: function() {
alert( "page not found" );
}
}
});
});
由于
答案 0 :(得分:1)
我在移动设备上检查此类问题的一般步骤是:
GET
请求,这将无效,但它至少可以帮助您确定您的手机是否可以访问您的服务器。GET
请求(就像您在这里一样),您可以尝试直接在调试器控制台中运行您自己的AJAX请求。如果您完全复制请求,它不应该提供比在网络选项卡中查看常规请求更多的信息,但它允许您多次修改请求而无需重新编译您的应用程序。它可以节省大量时间。如果您的手机根本无法访问资源(#1),那么您可能拥有手机不共享的专用本地环境。例如,您可能会拨打localhost
或127.0.0.1
,这是您的手机永远无法访问的(因为这些IP地址在大多数网络上具有特殊含义,基本上意味着'我'或'此计算机')。或者,您可能正在呼叫192.168.xxx.xxx
或10.xxx.xxx.xxx
,而您的手机无法访问,因为它不在该专用网络上(例如,如果您不在同一个wifi上)。在这种情况下,您有两个选择:
答案 1 :(得分:0)
使用Phonegap版本" Cli-5.2.0",需要使用白名单插件在Android上成功进行ajax调用。在config.xml中添加下面提到的行,以使用带有Phonegap云构建的白名单插件。
P
检查https://github.com/apache/cordova-plugin-whitelist是否有白名单插件说明