javascript - 无法执行警报
问题描述
我正在编写一个 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 文件中
解决方案
我在那里发布我的答案而不是评论,因为它太长了。
您的 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();
希望能帮助到你。
推荐阅读
- reactjs - 为什么我打开检查器工具时没有显示 src 属性?
- java - 为什么我的 Java Vertx 项目没有使用 SockJS 连接到 Web 项目?
- javascript - 每个“。”之后的换行符
- javascript - 是否可以拥有独立于前端应用程序的独立赛普拉斯测试存储库?
- asp.net-mvc - MVC 匹配对象到 API 期望
- python - Pycryptodome: ImportError: DLL load failed while importing _AES: %1 is not an valid Win32 application
- python - python产品迭代链内存不足
- javascript - 组件无法从 Vue 实例调用方法 v-on:click
- python - Python以给定的索引跳转或更少的方式递归地跳过列表,同时避免零
- c - 选择排序:什么是n-1?