2012-04-02 101 views
1

此代碼在FF和safari中正常工作,不在Chrome中爲什麼?

$.getJSON('s.json', function(data) { 
    var items = []; 

    $.each(data, function(key, val) { 
     items.push('<li id="' + key + '">' + val + '</li>'); 
    }); 

    $('<ul/>', { 
     'class' : 'my-new-list', 
     html : items.join('') 
    }).appendTo('body'); 
}); 
+7

你可以定義'不在鉻,爲什麼?'你有任何錯誤?異常? – 2012-04-02 05:10:08

+1

你可以設置我們可以調查的演示嗎? – Starx 2012-04-02 05:13:20

+1

你能說你的jQuery版本嗎? – 2012-04-02 05:22:48

回答

0

這種方法可能仍然不起作用,但會隨着它們的創建而逐漸追加元素,從而爲您提供更好的調試機會。

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

檢查DOM,看它有多遠。

1

我有完全相同的問題,問題是我的JSON無效(它有隱藏的製表符)。 Chrome似乎比其他瀏覽器更爲嚴格。

檢查與.error的功能,例如響應,

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

您也可以嘗試驗證的東西輸出像http://jsonlint.com/

0

運行的Web服務器應用程序。它解決了這個問題。

相關問題