0

クリックを有効にする前に ajax POST を送信しようとしています。

私はこれを試しました:

$('.unread a').click(function(){
    ele = $(this);
    $.post('ajax/notification.php', {
    info : ele.attr('title')
    }, 
    function(data) {
        if(data != 'frack') {
            ele.addClass("read");
            ele.removeClass("unread");
            window.location = ele.attr("href");
        }
    });
    return false;
});

しかし、リンクをクリックすると、$.post を送信する時間がなくても、そのページに直接移動します。

何か案は?

4

2 に答える 2

1

これにより、リンクがあなたをどこかに送信するのを防ぐ必要があります

$('.unread a').click(function(e){
       e.preventDefault();

http://api.jquery.com/event.preventDefault/

于 2012-04-18T22:31:19.613 に答える
1

これにより、リンクがデフォルトのアクションを実行できなくなります

    preventDefault();

それで

$('.unread a').click(function(e){
    e.preventDefault();
    ele = $(this);
    $.post('ajax/notification.php',
                 { info : ele.attr('title')
                    }, 
        function(data) {
        if(data != 'frack'){
                ele.addClass("read");
                ele.removeClass("unread");
                window.location = ele.attr("href");
            }
        });
    return false;
});
于 2012-04-18T22:32:05.560 に答える