我使用Phonegap在Android上开发了一个示例应用程序 单击按钮时,会向服务器发出Ajax请求( http://192.168.0.199:8080/test.php )。 test.php 只是回应 hello world 我使用 Jquery 1.5 进行Ajax调用。
以下是Ajax调用的代码:
$.ajax({
url:"http://192.168.0.199:8080/test.php",
beforeSend: function(x) {
alert("The URL "+url);
},
type:'POST',
crossDomain: true,
success:function(data) {
alert(data);
},
error:function(XMLHttpRequest,textStatus, errorThrown) {
alert("Error status :"+textStatus);
alert("Error type :"+errorThrown);
alert("Error message :"+XMLHttpRequest.responseXML);
}
});
但是,每次调用此函数时,都会抛出错误:
Error Type: No Transport
Error Message: undefined
Error Status: error
注意:我在Manifest文件中添加了INTERNET权限。我正在使用运行Android 1.6的G1设备
提前致谢
答案 0 :(得分:1)
您似乎正在尝试拨打本地网络中的客户端
尝试验证您是否可以访问该本地网络。
答案 1 :(得分:1)
从jQuery 1.5开始,一个新的AJAX / XHR实现正在使用中。 Android 1.5 / 1.6并没有说它支持CORS(跨域调用)。所以“修复”的方法是通知jQuery它 支持cors:
jQuery.support.cors = true;
我无法在2.1及更高版本上重现这个问题。所以我希望该版本的XHR实现确实说它支持cors。