javascript - if 和 else 在 XMLHttpRequest() 中不进行比较

标签 javascript ajax

function banUser() {
  var userToBan = document.getElementById('userToBan').value;
  var cid = document.getElementById('chatId').value;

  if (userToBan.length <= 0) {
    var x = document.getElementById("banerror");
    x.innerHTML = "\tEnter the Username of the user you wish to ban!";
    return;
  }

  var xhr = new XMLHttpRequest();
  xhr.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      var returncode = this.responseText;
      if (returncode == "0") {
        var x = document.getElementById("banerror");
        x.innerHTML = "\t" + userToBan + " successfully banned!";
        document.getElementById('userToBan').value = "";
      } else if (returncode == "1") {
        x = document.getElementById("banerror");
        x.innerHTML = "\tMissing Variables";
      } else if (returncode == "2") {
        x = document.getElementById("banerror");
        x.innerHTML = "\t" + userToBan + " does not exist!";
      } else if (returncode == "3") {
        window.location.href = "main.php";
      } else if (returncode == "4") {
        x = document.getElementById("banerror");
        x.innerHTML = "\t" + userToBan + " is already banned!";
      } else if (returncode == "5") {
        x = document.getElementById("banerror");
        x.innerHTML = "\tAn admin cannot be banned!";
      } else if (returncode == "6") {
        x = document.getElementById("banerror");
        x.innerHTML = "\tCreator can not be banned!";
      } else if (returncode == "7") {
        x = document.getElementById("banerror");
        x.innerHTML = "\tYou must be an Admin or creator to ban a user!";
      }
    }
  }

  xhr.open("POST", "processBanUser.php", true);
  xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xhr.send("chatId=" + cid + "&userToBan=" + userToBan);
}

由于某种原因,if和else中的javascript没有打印出值..请帮忙..我尝试在没有if else的情况下进行编码,然后它可以工作...但是当我放入if else语句时。 .. JavaScript 停止工作。

最佳答案

在第 20 行添加 console.log(returncode);returncode 值不是字符串,但您要比较它们是否是字符串。因此存在逻辑错误。或者您可以简单地删除 if...else 条件中的引号,例如

if ( returncode == 0 ){ }
else if (returncode == 1) {}

关于javascript - if 和 else 在 XMLHttpRequest() 中不进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40326062/

相关文章:

javascript - json数据显示在表格中

javascript - 在 Javascript 中将函数作为参数传递

javascript - Ember 链接-创建指向未定义的链接

javascript - 如何减少数组脚本中的函数?

php - 如何使用从 MySQL 检索的数据通过 .click jQuery 函数检索 html 元素值?

Ajax - 推拉?

javascript - 是否有相当于 Ruby 语法的 Javascript 使用下划线(例如 10_000 = 10000)来使更大的整数易于人类阅读?

javascript - 尝试递归循环树时遇到问题

javascript - 从 PHP 编码的 JSON 文件中提取数据

php - 从服务器获取图像并显示它们