ajax正在jquerymobile中工作,但没有在phonegap中工作

时间:2012-12-13 20:55:54

标签: jquery cordova jquery-mobile

我使用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');
    }
});

2 个答案:

答案 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服务器上。