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);
});
原作者:
...