2012-06-26 80 views
1

我是新來的jQuery和JSON。我有以下JSON結構。試圖迭代JSON結構使用jQuery

{ 
    "address":{ 
     "suburb":[ 
     "HACKHAM WEST", 
     "HUNTFIELD HEIGHTS", 
     "ONKAPARINGA HILLS", 
     "m" 
     ], 
     "state":"SA" 
    } 
} 

所以基本上以上是從這個迴應:

$.ajax({ 
    type:'POST', 
    url: 'getAddress.php', 
    data:postCode='+postCode', 
    success: function(response) { 
     alert(response) 
    } 
}); 

所以,我想要得到的是含有狀態的變量,幷包含郊區的數組。

+0

你的'data'在你的'$ .ajax'中是錯誤的。它應該是'data:'postCode ='+ postCode,' –

回答

5

檢查您擁有有效的Ajax請求:

$.ajax({ 
    type: "POST", 
    url: "getAddress.php", 
    data: { 
     postCode : postCode   // data as object is preferrable 
    }, 
    dataType: "json",    // to parse response as JSON automatically 
    success: function(response) { 
     var state = response.address.state; 
     var suburbs = response.address.suburb; 
    } 
}); 
+1

我明白了。所以,我需要dataType爲'json'?謝謝 – user933791

+1

@ user933791如果你期望服務器返回json,你可能會指定json作爲數據類型。如果你從服務器返回正確的頭文件,jQuery *可能會將它檢測爲json,但通常指定它更好。 –

+2

@ user933791是的。否則,'getAddress.php'應該在頭部發送以下內容類型:'header(「Content-Type:application/json」);'。 – VisioN

3

這應該做的伎倆

$.ajax({type:'POST', 
    url: 'getAddress.php', 
    dataType: 'json', 
    data:'postCode='+postCode, 
    success: function(response) { 
     var state = response.address.state; 
     var suburbs = response.address.suburb; 
    } 
}); 

新增dataType:'json'和固定data參數。

1

你需要分析你的JSON。 $.ajax可以爲你做這個。

$.ajax({ 
    type:'POST', 
    url: 'getAddress.php', 
    data: 'postCode='+postCode, // make sure this line is correct 
    dataType: 'json', // this tells jQuery to parse it for you 
    success: function(response) { 
     var state = response.address.state; 
     var suburbs = response.address.suburb; 
    } 
}); 
+0

+1,謝謝你的評論。 –

+0

@ClaudioRedi::-) –