【发布时间】:2023-03-18 22:34:01
【问题描述】:
为什么这段代码会发布两次数据?
$.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');
数据只发送一次(好)。
我可以在$.post() 成功结果中生成if 语句而不发生这种情况吗?
【问题讨论】:
-
是的,您可以在成功回调中编写任何有效的 JavaScript 代码。你什么时候执行这段代码,你能发布更多触发 $.post() 的代码吗?
-
$.post() 由点击函数触发:(
-
是否发送了两次相同的数据 - 两行是否相同? IOW,要发布哪些数据,if 还是 else?
-
能否通过在 click 事件处理程序中放置警报来检查是否多次附加 click 事件?
-
任何控制台错误?您是否验证了
data包含的内容?是表单提交的一部分吗?你需要发布更多的 JS,也许还有 HTML。
标签: jquery json dom post if-statement