服务器端响应不会显示在PhoneGap + jQuery Mobile应用程序中

时间:2011-12-06 07:44:00

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

我有一个相当简单的jQuery移动应用程序,它可以很好地用作网络应用程序(在台式机/智能手机上的浏览器中测试)但是当使用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中,我只是得到一个白色屏幕,硬件后退按钮退出应用程序,而不是通常的历史回退。令人费解的是,请求实际上已经通过了。服务器端代码触发电子邮件,所以我知道服务器正在收到请求。我在<access />文件中添加了相应的phonegap.xml规则,但我不确定是否足够。

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

1 个答案:

答案 0 :(得分:0)

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