php - 將 array 從php傳遞迴javascript並循環遍歷它

  显示原文与译文双语对照的内容
0 0

你好我正在把一個 array 從php傳回 javascript 。 i,online json_encode,但現在我可以看到它看起來像 array,而不是第一個條目,而是使用 response[0] = [ 。 我做錯什麼了? 我們感激任何方式的協助。

PHP

<?PHP
 $link = mysql_connect('localhost', 'root', 'root');
 mysql_select_db("Colleges");
 $result = mysql_query("SELECT * FROM `Colleges` ORDER BY School");
 $schools = array();
 while ($row = mysql_fetch_array($result)) {
 array_push($schools, $row['School']);
 }
 mysql_close();
 die(json_encode($schools));
?>

AJAX

<script type="text/javascript">
 function schools(){
 $.ajax({
 url:"Schools.php",
 type:"POST",
 success: function (response) {
//Loop over response
 }
 });
 }
</script>
时间:原作者:4个回答

0 0

你應該將你的JSON響應( 實際上是一個字元串) 解碼為能夠與對象一起使用:

var respObj = JSON.parse(response);

另外一種方法是注意jQuery將由伺服器( 使用 dataType:'json' ajax參數或者 Content-Type: application/json 響應 header ) 提供 JSON 。

原作者:
0 0

在傳遞給 ajax 方法的對象中,應嘗試添加 dataType:'json',以指定結果為 json,或者者在php腳本中指定它。 header('Content-type: application/json'); 在調用 die(); 之前

這樣做將導致你的response 成為你期望的對象而不是字元串。

最後,你可以以保留它,並調用成功回調 response = $.parseJSON(response);,將響應字元串轉換為對象,見 http://api.jquery.com/jQuery.parseJSON/,。

原作者:
0 0
Use Following if it helps
 res=jQuery.parseJSON(response);
for(i=0;i<res.length;i++)
{
 alert(res[i].propertyname);
}

這裡的屬性名稱指的是 json. In的鍵,你的情況可以以是'學校',只是數字或者值也可以以是 [i ] 。

原作者:
0 0

Javascript

for ( variable in response ) {
 alert(results[variable]);
}

jQuery

$.each(response, function(ind, val){
 alert("index:" + ind +". value:" + val);
});
原作者:
...