0

我正在使用 jquerymobile 并用 phonegap 包装它。我正在使用 AJAX 从服务器检索数据,它在我的浏览器上运行良好,但是当我尝试使用 phonegap 应用程序时,ajax 调用似乎不起作用。在 AJAX 调用中,我调用了一个本地 php 文件,该文件使用代码行“file_get_contents”从服务器检索数据。我的 phonegap 版本是 2.0.0,我还尝试在 res\config.xml 文件中添加一个带有服务器 url 的访问标签,并且我允许在应用程序中连接互联网。

谢谢

这是我正在使用的 ajax 代码,当我向服务器提供直接 url 时,ajax 调用失败,当我向本地 php 文件(不在服务器中)提供 url 时,从服务器,ajax调用成功。

$.ajax({ url : url + query, dataType : 'html', success : function (response) {

        $.mobile.loading('hide');

        $('body').append(response);

        $.mobile.changePage('#page3');
    },
    error    : function () {           
        alert('loading error') ;
        $.mobile.loading('hide');
    }
});
4

2 回答 2

1

确保您的服务器被列入白名单(即使它是本地的)。在此处查看详细信息:http: //docs.phonegap.com/en/2.2.0/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide

您只需添加“*”即可将所有网址列入白名单。此外,请确保您从绝对 URL 而非相对 URL 引用文件。

于 2012-12-13T21:09:14.650 回答
0

另外,当您说“本地 php 文件”时,您是指本地服务器上的文件,还是同一文件目录中的文件?PhoneGap 不会处理PhoneGap 应用程序中目录结构中的PHP 文件。PHP 文件必须驻留在可以处理 PHP 的 Web 服务器上。

于 2012-12-13T21:11:53.103 回答