javascript - 单击后清除变量

标签 javascript php jquery

我有以下代码,但无法清除导致我的网站出现错误的一个变量。

以下代码阻止和取消阻止用户。因此,在 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/

相关文章:

javascript - 使用ajax发送表单数据而php不显示回显数据

javascript - 突出显示事件 anchor 链接

php - 我的PHP脚本无法连接到IRC服务器

javascript - 地球夜间 map 的异步加载

javascript - 将一个元素悬停在另一个元素上

PHP MySQL 查询从两个不同的表中获得最受欢迎

php - 我的 sql 插入查询没有错误,但没有将任何内容插入数据库

javascript - Kendo UI 无法与 Meteor 配合使用?

javascript - 使用jquery自动完成而不使用ajax

javascript - bLazy图像加载器,如何在错误时获取数据src?