2

私はiPhoneとAndroid用のphonegapアプリを作っています。私のコードはブラウザで正常に動作しますが、phonegapを試してみると、電話はjsonの結果を表示し、送信機能でコードを実行しません。送信ボタンをクリックしたときに取得したものの写真を次に示します 。http:// i48.tinypic.com/21l1km0.png $ ajax()とjson.eval()を使用しましたが、同じ結果が得られました。

form.onsubmit = function()
{
    var formData = new FormData(form);
    $.ajax({
        type: 'POST',
        data: formData,
        url: 'http://server.com',
        success: function(data){
            console.log("wa3 1");
            alert('Your comment was successfully added');
        },
        error: function(){
            console.log("wa3 2");
            alert('There was an error adding your comment');
        }
    });
}
4

3 に答える 3

0

構文を次のように変更できます。

$('#myform').on ('submit', function (e) {
    e.preventDefault ();
    //rest of your code
});

または追加

return false;

onsubmit 関数の最後。

于 2013-03-20T23:46:03.027 に答える
0

php スクリプトのエンコーディングを設定していない可能性があります。

スクリプトの先頭に次の行を追加します。

<?php header('Content-type: application/json'); ?>
于 2013-03-21T09:30:27.933 に答える
0

ajax呼び出しが実行されていないと思います。送信ボタンはフォームを送信しますが、ajax では送信しません。したがって、サーバー スクリプト ページにリダイレクトされます。

この動作を防ぐにreturn false;は、イベント onsubmit を追加します。

このコードは、HTML ページがフォームを送信できないようにします。したがって、ajax 関数はデータを送信できます。

于 2013-03-20T22:24:48.577 に答える