$ .getJSON()不能使用chrome,为什么?

此代码在FF和Safari中运行良好,不在Chrome中为什么?

$.getJSON('s.json', function(data) { var items = []; $.each(data, function(key, val) { items.push('
  • ' + val + '
  • '); }); $('
      ', { 'class' : 'my-new-list', html : items.join('') }).appendTo('body'); });

    我有完全相同的问题,问题是我的json无效(它有隐藏的制表符)。 Chrome似乎比其他浏览器更严格。

    使用.error函数检查响应,例如,

     $.getJSON('s.json', function(data) { //... }) .error(function(data) { console.log("Error!"); }); 

    您还可以尝试使用http://jsonlint.com/之类的functionvalidation输出

    这种方法可能仍然无法工作,但会在创建元素时逐步追加元素,从而为您提供更好的调试机会。

     var $ul = $('
      ').appendTo('body').addClass('my-new-list'); $.getJSON('s.json', function(data) { $.each(data, function(key, val) { $('
    • ').appendTo($ul).attr('id',key).html(val); }); });

      检查DOM以查看它到底有多远。

      在Web服务器中运行该应用程序。 它解决了这个问题。