【问题标题】:getJSON typerror e is undefinedgetJSON typeerror e 未定义
【发布时间】:2012-12-30 08:45:29
【问题描述】:

我在下面有这个 jQuery:

$.getJSON('../GetCities?', { term: inputString }, function (data) {            
  var anchorTagElements = '';
  console.log("line 39 ");
  $.each(data.items, function (i, item) {
    console.log("line 41 " );    
    anchorTagElements = anchorTagElements + '<a href=""><span class="searchheading">' +
      item.City + ', </span></a>';
  });
});

我可以看到数据正在使用 firebug 从服务器返回我可以看到第 39 行已打印到日志中,但第 41 行并不意味着它在第 41 行 console.log 之前失败

我收到的错误消息是 TypeError: e is undefined

有什么想法可以去哪里看?

编辑

使用未缩小的 jQuery 我得到了:

类型错误:obj 未定义
长度 = obj.length,

尝试获取长度以评估 i 时失败。我不确定为什么我可以看到正确返回的数据。

这是返回的数据:

【问题讨论】:

  • 脚本好像是minified版本。看看这个stackoverflow.com/questions/3475024/…
  • DON 的意思是,non-minified 版本将为您提供错误报告,告诉您问题发生在哪里。使用minified version 只会显示引用变量,使调试变得困难。
  • data.items的值是多少
  • 我猜应该是$.each(data, function (i, item)
  • 你能发布你的回复数据吗?

标签: javascript jquery asp.net-mvc jquery-ui


【解决方案1】:
$.each(data, function (i, item) {  
            anchorTagElements = anchorTagElements + '<a href=""><span class="searchheading">' +
                item.City + ', </span></a>';
});

【讨论】:

    【解决方案2】:

    试试:

    $(data.items).each(function (i, item) {
    

    另外,请尝试打印data 以查看它是否有效。

    【讨论】:

    • 实际上它没有;没有遇到错误,只是跳过它它没有;不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-29
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多