【问题标题】:ajax is working in jquerymobile but not working in phonegapajax 在 jquerymobile 中工作,但在 phonegap 中不工作
【发布时间】:2012-12-13 20:55:53
【问题描述】:

我正在使用 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({ 网址:网址+查询, 数据类型:'html', 成功:函数(响应){

        $.mobile.loading('hide');

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

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

【问题讨论】:

    标签: jquery cordova jquery-mobile


    【解决方案1】:

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

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

    【讨论】:

    • 我这样做了,我已经阅读了那篇文章,我在服务器 url 中添加了一个访问标签(在 res/config.xml 中),但它仍然没有工作。
    【解决方案2】:

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

    【讨论】:

    • 我的 php 文件位于我的 phonegap 应用程序的目录结构中。它只有直接从服务器检索数据的代码行(“file_get_contents”)。我试图给出ajax 调用中的服务器,但它不起作用的唯一方法是,如果我调用从服务器检索数据的本地 php 文件。我如何检查 phonegap 是否支持 php,或者它们是我应该的包下载它会支持php吗?
    • PhoneGap 不支持 PHP。 PhoneGap 基于来自移动操作系统的系统 Web 视图。它可以渲染 HTML、JS 和 CSS,但 PHP 是一种服务器端语言。 PhoneGap 应用程序不支持在模拟器或设备上进行 PHP 处理。您将需要实施不同的解决方案。如果您想要获取的数据在服务器上,您应该能够向该服务器发出 ajax 请求。当您在 phonegap 应用程序中访问相关文件(相对于目录结构)时,您是从设备的物理存储中请求文件,而不是从服务器请求。
    • 您好,感谢您提供的非常有用的答案。所以如果我不能使用 php,任何人都知道为什么我不能成功地直接对服务器执行 ajax 调用而只抛出一个 php 文件。我添加了我使用的代码,并在我的第一次发布中进行了解释。
    • 您有错误消息或 HTTP 状态代码吗?您可以在结果处理程序中捕获它们。请参阅此处的文档:developer.mozilla.org/en-US/docs/JavaScript/Reference 这可能是 URL 不正确或服务器无法访问的问题。
    猜你喜欢
    • 2013-11-09
    • 1970-01-01
    • 2015-01-02
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多