1

我正在尝试使用 Phonegap 和 Jquery Mobile 在 Eclipse Android 模拟器中提交表单。我正在寻找提交表单并有一条消息显示表单是否已成功提交。如果我在 Internet 浏览器上提交表单,则 php 页面可以正常工作。但是,尝试使用 Android 模拟器时,表单提交永远不会到达 php 文件。

下面是我正在使用的 html 表单。我已经包含了 phonegap 和 jquery 脚本。

  <form id="myForm" >
                <div data-role="fieldcontain">
                    <fieldset data-role="controlgroup" data-mini="true">
                        <label for="textinput1">
                            Name
                        </label>
                        <input id="fullnameid" name="fullname" placeholder="" value="" type="text" />
                    </fieldset>
                </div>
                <div data-role="fieldcontain">
                    <fieldset data-role="controlgroup" data-mini="true">
                        <label for="textinput2">
                            E-Mail
                        </label>
                        <input id="emailid" name="email" placeholder="" value="" type="text" />
                    </fieldset>
                </div>
                <div data-role="fieldcontain">
                    <fieldset data-role="controlgroup">
                        <label for="textarea1">
                            Message
                        </label>
                        <textarea id="commentid" name="comment" placeholder="" data-mini="true"></textarea>
                    </fieldset>
                </div>
                 <h3 id="return"></h3>
                <button data-theme="b" id="submitid" data-icon="arrow-r" data-iconpos="left" name="submit" type="submit">Submit</button>

           </form>

我正在使用的 javascript 是 AJAX 帖子:

<script>
 function onSuccess(data, status)
    {
        data = $.trim(data);
        $("#return").text(data);
    }

    function onError(data, status)
    {
        // handle an error
        alert("Error Submitting Form");
    }       

    $(document).ready(function() {
        $("#submitid").click(function(){

            var formData = $("#myForm").serialize();

            $.ajax({
                type: "POST",
                url: "http://www.dowlingnetworks.com/app/contactscript.php",
                cache: false,
                data: formData,
                success: onSuccess,
                error: onError
            });

            return false;
        });
    });
</script>

任何帮助将不胜感激。

4

4 回答 4

3

Easy way to do cross domain calls is just to put in your php page's header this line:

header("Access-Control-Allow-Origin: *");
于 2012-11-03T06:40:59.157 回答
1

You cannot post data to server like this from android. You are doing Cross domain request through jquery from a webserver. You have to make a JSON or JSONP request to reach the server. Please go throught the link to make a Request to web server using phonegap jquery mobile.

于 2012-06-21T06:39:53.123 回答
0

您可以通过在 [project_name]/res/xml/config.xml 中进行设置来控制可以从您的应用程序访问哪些外部源:

<access origin="http://[some-external-domain.com]" subdomains="true" />

文档之一在这里:

https://build.phonegap.com/docs/config-xml

注意:一直滚动到底部以找到讨论设置的特定部分。

于 2013-06-05T11:18:07.620 回答
-1

我以前有同样的问题。但是,当我使用实际的 android 手机作为我的测试设备时,一切正常,无需额外配置。干杯!

最好的问候, 易莹

于 2013-01-23T11:26:54.110 回答