0

シンプルなフォームがあり、フォームから ajax リクエストを介してデータを送信したい。私はこれを試します:

    $('form#station').submit(
            function() {
                console.log('form submit without reloading');
                var coords = station.geometry.getCoordinates();
                 console.log(data);
                $.ajax(
                        {
                            url: '/admin/station/add-ajax',
                            method: 'post',
                            data: {},
                            success: function(result) {
                                console.log('succcess');
                            }
                        }
                );
                return false;
            }
    );

ページがリロードされるのはなぜですか?

4

2 に答える 2

1

event.preventDefault(); を含めてみてください。動作するはずです。

于 2013-05-03T18:57:14.603 に答える
1

event.preventDefault(); を使用する場合 そうしないとIEに問題が発生するため、関数を介してイベントオブジェクトを渡す必要があります。そう:

$('form#station').submit(function(e){
    e.preventDefault(); // e = event
});

通常は return false; を使用します。また、他のすべてのコードの前に配置して、ajax が実行される前に送信を確実に停止することができます。実際に送信を停止する前に、データのフェッチを長時間待機している可能性があります。確かに言いにくい。

于 2013-05-03T19:26:41.483 に答える