我使用jquerymobile并用phonegap包装它。 我使用AJAX从服务器检索数据,它在我的浏览器上完美运行,但当我尝试使用phonegap应用程序时,ajax调用似乎不起作用。 在AJAX调用中,我调用一个本地php文件,该文件使用代码行" file_get_contents"从服务器检索数据。 我的phonegap版本是2.0.0,我还尝试在res \ config.xml文件中添加一个带服务器URL的访问标签,我允许在应用程序中进行互联网连接。
谢谢
这是我正在使用的ajax代码,当我向服务器提供直接url时,ajax调用失败,并且当我将url提供给本地php文件时(不在服务器中) ),从服务器检索数据,ajax调用成功。
$。AJAX({ url:url +查询, dataType:' html', 成功:功能(响应){
$.mobile.loading('hide');
$('body').append(response);
$.mobile.changePage('#page3');
},
error : function () {
alert('loading error') ;
$.mobile.loading('hide');
}
});
答案 0 :(得分:1)
确保您的服务器已列入白名单(即使它是本地的)。详情请见: http://docs.phonegap.com/en/2.2.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide
只需添加“*”即可将所有网址列入白名单。另外,请确保从绝对URL引用该文件,而不是相对URL。
答案 1 :(得分:0)
另外,当你说“本地php文件”时,你指的是本地服务器上的一个,还是同一个文件目录中的一个? PhoneGap不会在PhoneGap应用程序的目录结构中处理PHP文件。 PHP文件必须驻留在可以处理PHP的Web服务器上。