我已经在过去两天里一直在做这件事情,并查看了很多其他的建议。是的,我可以从一个 phonegap 应用程序中发出这个简单的 ajax 请求,在 android 模拟器和实际的 android 手机上都能工作。
我的 phonegap 版本是(使用 phonegap -v)3.0.0-0.14.3
我正在使用的代码是:
var url = 'http://www.thomas-bayer.com/sqlrest/CUSTOMER';
return $.ajax({
type: "GET",
url: url,
timeout: 60 * 1000
}).done(function (data) {
alert('hey');
}).fail(function (a, b, c) {
console.log(b + '|' + c);
});
我在日志中得到的结果只有:
error| at file:///android_asset/www/js/index.js:62
我已经把设置添加到了AndroidManifest.xml中。
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
并且我在Config.xml中有以下内容
<param name="android-package" value="org.apache.cordova.core.NetworkManager" />
当我检查 navigator.connection.type
时,模拟器上会得到 3G
,而在实体手机上会得到 wifi
。有什么其他问题吗? 更新: 如果我记录失败函数的第一个参数中的JSON,则会得到:
{"readyState":4,"status":404,"statusText":"error"}