jQuery 对象未定义

标签 jquery json

很抱歉问这个可能是一个非常明显的问题,我一整天都在绞尽脑汁+我对 JQuery 和 JavaScript 非常陌生。

我正在运行以下命令:-

<script type="text/javascript">
$(function() {
$.getJSON(
  "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22UTG.L%22)%0A%09%09&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=?", 
  function(data) {

$.each(data.query.results.row, function(index, item){
    $('#quotes')
    .append(
      $('<p/>')
        .append($('<span class="left"/>').text(item.symbol))
        .append($('<span class="right"/>').text('$'+item.price))
      );
    });

  }
);

});
</script>

我得到对象 undefined variable 名称,i = 0,长度= object.length;来自 firebug - 有人能帮我吗?

最佳答案

JSON 结构不知道 query.results.row,但知道 query.results.quote。这有效:

console.log(data);
var quotes = data.query.results.quote;
for (var q in quotes) {
  $('#quotes')
    .append(
      $('<p/>')
      .append($('<span class="left"/>').text(q))
      .append($('<span class="right"/>').text('$' + quotes[q]))
    );
}
});

您调用的不是 JSON 资源,而是 JSONP 资源。 url 的回调参数应该是一个函数名称,并且您应该使用 $.getScript。

myCallback = function(jsonData) {
  ...
}
$.getScript("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22UTG.L%22)%0A%09%09&format=json&env=http%3A%2F%2Fdatatables.org%2Falltables.env&callback=myCallback");

关于jQuery 对象未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1053371/

相关文章:

javascript - ChartJS 根据下拉选择更改图表

java - 多部分文件提交永远不会命中服务器方法

javascript - 在 couchdb 上构建数据的最佳方法是什么?

java - 如何使用 Jackson 的 objectMapper 反序列化接口(interface)字段?

javascript - 从 json 数据中选择特定的键

javascript - JS animate - 我的语法有问题

JavaScript JSON 输出

适用于桌面和移动设备的 jQuery Mobile

javascript - 获取父级 json 对象中多个子级的值

java - 放心 : posting json request having both String and Integer