jQuery 迭代 JSON - a 未定义

标签 jquery ajax json

我看过类似的帖子,但我还没有找到以这种格式循环键值对数组的示例:

{
"quotes": [
    {
      "author": "Author One",
      "quote": "Quote One"
    },
    {
      "author": "Author Two",
      "quote": "Quote Two"
    },
    {
      "author": "Author Three",
      "quote": "Quote Three"
    }
]
}

我不确定为什么这段代码不起作用,即,当我尝试迭代从 Ajax 调用返回的 JSON 数据时,我无法引用 JSON 文件中的命名数组,例如 data.quotes 。如何在 Ajax 调用返回的数据中循环引用数组

var QUOTE = {
container: '#quote',
url: 'quotes.json',

load: function() {
var _quote = this;
$.ajax({ 
  type:"get", 
  url: this.url, 
  success: function(data){
    $.each(data.quotes, function(i, val) {  
      console.log(i, val);
    });
  }
});

这看起来应该可以工作,但我在 $.each() 调用中得到 a is undefined

感谢您的帮助,

J

最佳答案

看起来代码没有什么问题。 val.authorval.quote 应该包含您所期望的内容。

没有名为 a 的变量,那么错误从何而来?

我的猜测是数据不是你所期望的。尝试 console.log(data); 看看是否正确。

检查它是字符串还是对象。您可能需要 data = $.parseJSON(data) 将字符串转换为数据结构。

关于jQuery 迭代 JSON - a 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7883676/

相关文章:

javascript - 如何在客户端避免过多的ajax调用和缓存json数据

javascript - 在 JavaScript 中自动从字符串中删除 '&' 符号

ajax - 在 OnSuccess 处理程序中获取对 Ajax.ActionLink 的 anchor 元素的引用

javascript - 显示 JSON 数据中的图像?

iOS 正在创建一个没有 {} 的 JSON 字符串——只有 [ ]?

javascript - 提交时删除类并刷新页面

jQuery onClick 事件

jquery - 打开/关闭一个输入的 Jquery 验证

javascript - AJAX 到 asmx (VB) web 方法 - 带参数的 GET

javascript - 让我的切换按钮与 Bootstrap 一起使用