2012-08-31 99 views
0

我無法檢索JSON object.The JSON數據值來這樣當從螢火蟲觀察:獲得價值

[{"PROJECT_ID":"CASEENO"},{"PROJECT_ID":"DARKROOM-2"}] 

這是我的Ajax代碼:

$.ajax({ 
    type: "POST", 
    url: "getdata.php", 
    dataType: "json", 
    data: { 'dataString': projectid }, cache:false, 
    success: function(data) 
      { 
        alert(data); 
        for (var i = 0; i < data.length; i++) 
        {    
        $("#projid").append("<option value=data[i].PROJECT_ID>data     [i].PROJECT_ID</option>"); 
        } 
      } 
}); 

警報(數據)正在給出[對象對象]。 我嘗試像這樣data.PROJECT_ID, data[PROJECT_ID],data[i].PROJECT_ID,但項目ID值不顯示在選擇標記。 如何從for循環中檢索項目ID?

回答

1

如果alert(data)給出[object Object],那麼data不是數組。它應該輸出[object Object],[object Object]

我建議使用console.log(data)以更好地瞭解data的實際情況並檢查其結構。這個問題也可能對你有所幫助:Access/process (nested) objects, arrays or JSON

假設data確實是一個陣列,利用其值在HTML字符串,你必須使用字符串連接:

$('#projid').append('<option value="' + data[i].PROJECT_ID + '">' + data[i].PROJECT_ID + '</option>'); 

或不同創建元素:

$('<option />', { 
    value: data[i].PROJECT_ID, 
    text: data[i].PROJECT_ID 
}).appendTo('#projid'); 

JavaScript是像PHP那樣插入字符串。

1

$("#projid").append("<option value=data[i].PROJECT_ID>data[i].PROJECT_ID</option>"); 

更改您的發言 到

$("#projid").append("<option value="+data[i].PROJECT_ID+">"+data[i].PROJECT_ID+"</option>");