我想向远程服务器发出AJAX调用,上传一些参数并下载一些内容。此脚本在浏览器中完美运行,但不适用于PhoneGap(在Ripple,chrome上进行测试)。
我已经看过问题和解决方案,例如:
PhoneGap not issuing AJAX (jsonp) request
Issues with jQuery, ajax, and jsonp
Ajax电话:
$.ajax({
url: "https://mydomain.com/file.php",
data: {test:"test"},
type: 'GET',
dataType: 'jsonp',
timeout: 5000,
success: function(data){
if(data['var'] == 'correct'){
notifyAlert('correct','Login');
}else{
notifyAlert('incorrect','Login');
}
},
error: function(x,e){
if(x.status==0){
notifyAlert('You are offline!!\n Please Check Your Network.', 'Error');
}else if(x.status==404){
notifyAlert('Requested URL not found.', 'Error');
}else if(x.status==500){
notifyAlert('Internel Server Error.', 'Error');
}else if(e=='parsererror'){
notifyAlert('Error.\nParsing JSON Request failed. '+x.status, 'Error');
}else if(e=='timeout'){
notifyAlert('Request Time out.');
}else {
notifyAlert('Unknow Error.\n'+x.responseText, 'Error');
}
}
});
远程服务器代码:
$record = array('var' => 'correct');
echo $_GET['callback'] . '(' . json_encode($record) . ');';
我的config.xml文件有:
<access origin="https://mydomain.com" />
在Ripple(仿真器)上进行测试时,它给出了状态0错误。在我的本地服务器(通过浏览器)上测试相同的脚本时,它会给我正确的var警报。
我还测试了一个json调用,这在模拟器中完美运行但是当我将apk上传到手机时它不起作用。与上面jsonp(状态0错误)的问题结果相同。
答案 0 :(得分:0)