1

PhonegapとJqueryMobileを使用してEclipseAndroidエミュレーターでフォームを送信しようとしています。フォームを送信しようとしていますが、フォームが正常に送信されたかどうかを示すメッセージが表示されます。インターネットブラウザでフォームを送信すると、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>

私が使用しているAJAX投稿であるjavascriptは次のとおりです。

<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

クロスドメイン呼び出しを行う簡単な方法は、phpページのヘッダーに次の行を挿入することです。

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

アンドロイドからこのようにサーバーにデータを投稿することはできません。Webサーバーからjqueryを介してクロスドメインリクエストを実行しています。サーバーに到達するには、JSONまたはJSONPリクエストを作成する必要があります。リンクを通過して、phonegapjquerymobileを使用してWebサーバーにリクエストを送信してください

于 2012-06-21T06:39:53.123 に答える
0

[project_name] /res/xml/config.xmlでこれを設定することにより、アプリケーションからアクセスできる外部ソースを制御できます。

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

ドキュメントの1つはここにあります:

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

注:一番下までスクロールして、設定について説明している特定のセクションを見つけます。

于 2013-06-05T11:18:07.620 に答える
-1

以前も同じ問題があります。ただし、実際のAndroidスマートフォンをテストデバイスとして使用すると、追加の構成なしですべてが正常に機能しました。乾杯!

よろしく、イーイン

于 2013-01-23T11:26:54.110 に答える