首页 > 解决方案 > 无法执行警报

问题描述

我正在编写一个 javascript 代码,其中在执行条件时提供警报

我参考了一些关于 ajax 和 json 的 youtube 视频,并编写了一个代码,其中我成功地从网站记录数据并发送自动警报消息。我的问题是,每当我在 if 语句中添加相同的警报消息时,警报都不会被执行。

我尝试使用 f12 的开发人员工具并调试代码,似乎数据没有进入循环。

请帮助我

var ourRequest = new XMLHttpRequest();
ourRequest.open('GET', 'https://learnwebcode.github.io/json-example/animals-1.json');
ourRequest.onload = function() {
    var ourData = JSON.parse(ourRequest.responseText);

    console.log(ourData);
    if (ourData = "cat") {
      alert(" take action");

    };
    ourRequest.send();
}

应该生成警报,因为 cat 位于链接https://learnwebcode.github.io/json-example/animals-1.json的 json 文件中

标签: javascripthtml

解决方案


我在那里发布我的答案而不是评论,因为它太长了。

您的 if 格式不正确,应使用比较运算符=====(“更好”)。使用正确的运算符更正您的 if,因为您使用=了哪个是矫揉造作的运算符。

顺便说一句,我检查了数据,您应该遍历对象列表并检查“物种”属性。像这样if(ourData.species == "cat")

您的代码应如下所示:

var ourRequest = new XMLHttpRequest();
ourRequest.open('GET', 'https://learnwebcode.github.io/json-example/animals-1.json', true);

ourRequest.onload = function () {
  // Request finished. Do processing here.
  var ourData = JSON.parse(ourRequest.responseText);

  console.log(ourData);
  // loop over each "animal" element
  ourData.forEach(function (element) {
    if (element.species === "cat") {
      alert(" take action");
    };
  });
};


ourRequest.send();

希望能帮助到你。


推荐阅读