2013-04-01 31 views
1

我嘗試了幾種方式來獲得以.json文件和數據使用$ .getJSON和$阿賈克斯()overthere

我的JS代碼 n⁰2失敗:

$.ajax({ 
    type: "GET", 
    url: 'js/main.js', 
    data: data, 
    success: 1, 
    }).done(function (data) { 
    var items = []; 

    $.each(data.tata.entities.q142.labels.fr.value, function(key, val) { 
    items.push('<li id="' + key + '">Test 2:' + val + '</li>'); 
    }); 

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

在鉻控制檯,消息錯誤是

"Uncaught ReferenceError: data is not defined" 

指的行:

data: data, 

到底哪裏出問題了?該怎麼辦 ?


編輯:全部完成客戶端。

+0

您是否有變量存儲您要發送到服務器的數據?它試圖通過以查詢字符串形式附加的某些數據來「GET」?something = blah' –

+1

您是否有任何名稱爲'data'的變量?如果是這樣,請發佈該變量的數據 –

回答

7

的問題正在引起,因爲你沒有定義變量數據,所以儘量去除data: data線,它看起來像你剛剛通常不會採取查詢字符串的JavaScript文件:

$.ajax({ 
    type: "GET", 
    url: 'js/main.js', 
    success: success, 
    }).done(function (data) { 
    var items = []; 

    $.each(data.tata.entities.q142.labels.fr.value, function(key, val) { 
    items.push('<li id="' + key + '">Test 2:' + val + '</li>'); 
    }); 

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

它適合你嗎?它不適合我。我圍繞你的想法進行了深入探討,也許與我的代碼1,代碼3,代碼4有衝突。 – Hugolpz

+0

好吧,我以前的代碼隱藏了第二個錯誤。按照我的json數據,「成功」,「成功」,「變成成功:1」。然後你的答案有效:) – Hugolpz