2

最初に次のスニペットを実装して、「こんにちは」アラートを表示し、「ドキュメントの準備ができました」で jQuery 投稿を行いました。この最初のステップはうまくいきました。次に、タグのクリックのみでブロックを実行するために、数行を追加しました。「こんにちは」アラートは期待どおりに機能するようになりましたが (リンクをクリックした後でのみ)、投稿は「エラー、投稿が機能しませんでした」を返し、期待どおりに完了しません。繰り返しますが、下の / * /でフラグ付けされた 2 行を削除すると、コードは正常に機能します (ページが読み込まれた直後)。理由はありますか?

$(document).ready(function(){
    $('a.postlink').click(function() {    /*** post works if I remove this line ***/
    alert("hi");
    jQuery.post("http://myurl", 
            {registration_id: 'device1', command: 'MESSAGE', message: 'Hello', longMessage: ''},
       function(data) {
         alert("ok");
       })
       .error(function() {
        alert("error, the post didn't work");
        });
    });                                   /*** and this line ***/
});
4

1 に答える 1

2

試してみてくださいevent.preventDefault()

<a href="#" class="postlink"></a>

$('a.postlink').click(function(event) { 
   event.preventDefault();
  // ...
})
于 2012-07-06T19:21:47.937 に答える