web-dev-qa-db-ja.com

HTMLアンカータグonclick()とhrefが同時に実行されます

HTMLアンカーリンク-hrefとonclickの両方? postと同様に、私のものは:

_<a href="/tmp/download.mp3" onclick="update();">Download link</a>
_

update()メソッドは、別のHTTP GETメソッドをサーバーに送信して、ダウンロードされたファイルを更新し、データベースを更新します。 HTMLコードからは、2つのGETリクエストが一緒にトリガーされ、1つだけがサーバーからの応答(hrefダウンロード応答)を取得します。 update()は実行されていません。両方のGETメソッドを実行できるメソッドはありますか? JavascriptとJqueryの提案を歓迎します!

14
CheeHow

hrefを忘れて、クリック機能ですべて実行してください。更新が完了したら、別のページに移動できます。これが私のJQueryの提案です。

HTML

<a id="download" href="/tmp/download.mp3">Download link</a>

JavaScript(JQueryを使用)

$("#download").click(function(e){
    e.preventDefault();//this will prevent the link trying to navigate to another page
    var href = $(this).attr("href");//get the href so we can navigate later

    //do the update

    //when update has finished, navigate to the other page
    window.location = href;
});

注:idタグにaを追加して、JQueryを介して正確に選択できるようにしました

23
musefan