【问题标题】:Server-side response will not show in PhoneGap + jQuery Mobile app服务器端响应不会显示在 PhoneGap + jQuery Mobile 应用程序中
【发布时间】:2011-12-06 07:43:59
【问题描述】:

我有一个相当简单的 jQuery 移动应用程序,它作为一个 Web 应用程序运行良好(在台式机/智能手机上的浏览器中测试)但是当使用 phonegap 将它移植到 android 时,我遇到了一个主要问题。它发生在真实手机和 AVD 中。

应用中有一个表单,例如:

<div data-theme="a" data-role="dialog" id="a-form">
    <div data-role="content">
        <h3>...</h3>
        <form action="http://a-live-site.com/a-form.php" method="post">
            ...
            <div data-role="fieldcontain">
                <button type="submit">Submit</button>
            </div>
        </form>
    </div>
</div>

它的响应内容在浏览器中完美加载(action 是那里的相对链接),但在 phonegap 中,我只是得到一个白屏,硬件后退按钮退出应用程序,而不是通常的历史倒退。令人费解的是,请求实际上通过了。服务器端代码触发了一封电子邮件,所以我知道服务器正在收到请求。我在phonegap.xml 文件中添加了适当的&lt;access /&gt; 规则,但我不确定这是否足够。

编辑:表单是静态内容,所以在 phonegap 中,它由 file:// 加载,不应该有跨域问题。

【问题讨论】:

  • 但是在处理完表单数据之后,您的服务器实际上是否返回了要显示的内容?我建议与 Fiddler 一起检查...
  • 它肯定是在响应。

标签: forms jquery jquery-mobile cordova cross-domain


【解决方案1】:

问题是由于结果中的data-role="dialog"。使用page 修复它。它只在 phonegap 中中断,而 phonegap 的日志使它看起来像是别的东西。真正的 PITA。

【讨论】:

    猜你喜欢
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多