我有以下代码,但无法清除导致我的网站出现错误的一个变量。
以下代码阻止和取消阻止用户。因此,在 If 语句中检查用户是否被阻止。所以它总是 0 或 1。问题是,在页面第一次加载后,if 语句内的值保持不变,我必须刷新页面以便该值可以更改。
关于如何解决这个问题有什么想法吗?
$('#confirmBlockUser<?php echo $otherConversation->getId(); ?>').on('click', function(e) {
e.preventDefault();
if (<?php echo $otherConversation->isUserBlocked($conUser->getId(), UserSession::getUserId()); ?>) {
$.post( "/conversation/unblock", { usrId: '<?php echo $conUser->getId(); ?>' })
.done(function (data) {
$( ".<?php echo $otherConversation->getId().'-con' ?> span.blocked").hide();
});
} else {
$.post( "/conversation/block", { usrId: '<?php echo $conUser->getId(); ?>' })
.done(function (data) {
$( ".<?php echo $otherConversation->getId().'-con' ?> span.blocked").show();
});
}
});
最佳答案
您使用 php 输出添加该值,因此从服务器发送页面后它保持不变。 PHP 是服务器端!
您需要 JavaScript 来实现此目的。
所以也许:
var blocked = <?php echo $otherConversation->isUserBlocked($conUser->getId(), UserSession::getUserId()); ?>;
...
if (blocked) {
...
// unblock in ajax success function or on another condition
blocked = false;
} else {
...
// block again, because some condition is met
blocked = true;
}
关于javascript - 单击后清除变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24433621/