为什么这段代码会两次发布数据?

时间:2011-07-19 15:14:57

标签: jquery json dom post if-statement

为什么这段代码会两次发布数据?

$.post("send/user/sent.php", { url: response, secret_key: secret_key },
function(data) {
    if (parseInt(data.succ_code) == 0){
        // facebook log fired successfully
        $('#sent').addClass('good');
        $('#sent').html(data.succ_mess+' '+data.point+' point(s) !');
        return true;
    } else {
        $('#sent').html(data.succ_mess);
        $('#sent').addClass('bad');
    }
}, 'json');

在数据库中,每个帖子都会看到两行。

但如果我这样做:

$.post("send/user/sent.php", { url: response, secret_key: secret_key },
function(data) {
        // facebook log fired successfully
        $('#sent').addClass('good');
        $('#sent').html(data.succ_mess+' '+data.point+' point(s) !');
        return true;
}, 'json');

数据只发送一次(好)。

如果没有这种情况,我可以在if成功结果中制作$.post()声明吗?

1 个答案:

答案 0 :(得分:1)

以下是您可能想要使用的一些代码:

$.post("send/user/sent.php", { url: response, secret_key: secret_key },
    function(data) {
        switch (parseInt(data.succ_code)){
        case 0: $('#sent').addClass('good').html(data.succ_mess + ' ' + data.point + ' point(s)!'); break;
        default: $('#sent').addClass('bad').html(data.succ_mess); 
        }
    }, 'json'
);