【发布时间】:2016-05-18 02:24:26
【问题描述】:
我对来自网页的cordova/phonegap/ajax 请求有疑问。由于该应用程序正在与在手机上运行的phonegap 开发者应用程序一起使用并完美地发送ajax requests。我认为这与permissions/plugins 或其他东西有关。但是当我使用cordova 安装应用程序时,它不会发送任何内容,整个ajax request 会返回:
readyState: 0
responseText: undefined
status: 0
text status: error
error
在config.xml我已经设置了
<access origin="*" />
在AndroidManifest.xml 我已经设置了
<uses-permission android:name="android.permission.INTERNET" />
这是ajax request 本身
$.ajax({
method: "GET",
crossDomain: true,
dataType: 'json',
url: 'http://mywebsite.com/projectname/index.php',
data: { x: userLocation.latitude, y: userLocation.longitude },
success: function(data){
alert("Success: "+ data);
},
error: function(xhr, textStatus, err) {
alert("readyState: " + xhr.readyState);
alert("responseText: "+ xhr.responseText);
alert("status: " + xhr.status);
alert("text status: " + textStatus);
alert("error: " + err);
}
});
将cordova.js 包含到项目中:
<script type="text/javascript" src="cordova.js"></script>
<script src='js/jquery.js'></script>
<script>
$(document).bind('mobileinit', function () {
$.mobile.changePage.defaults.changeHash = false;
$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;
});
</script>
<script ...here comes js file where ajax is called out
设置这些也不起作用
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
【问题讨论】:
标签: javascript android jquery ajax cordova