gpt4 book ai didi

javascript - 使用each()打印数组时jquery ajax()问题

转载 作者:行者123 更新时间:2023-11-28 19:53:33 25 4
gpt4 key购买 nike

在我的代码中,我返回一个包含 7 个学生记录的 php 数组。使用 jquery ajax() 我想在成功函数上打印这些记录。

数据库表学生

+---------------------------+
| name | fathername | Email |
+---------------------------+

提交.php

$query=mysql_query("SELECT * from Students LIMIT 0,6");

$row= array();
$row=mysql_fetch_array($query);
return json_encode($row);

index.php

<script>
$(function(){
$("#form1").submit(function(event){
event.preventDefault();

$.ajax({
url:'submit.php',
type:'GET',
data:$(this).serialize(),
success:function(result){
$.each(result,function(){
$('.StudentName').text(result["name"]);
$('.FatherName').text(result["fathername"]);
$('.Email').text(result["email"]);
});

}
});
});
});
</script>

<div class="StudentName"></div>
<div class="FatherName"></div>
<div class="Email"></div>

编辑我尝试从 php 只返回 1 个结果,它有效,即

echo json_encode(mysql_fetch_array($query));

当我返回所有 6 条记录时,jquery 函数不会执行,即

while($result=mysql_fetch_array($query))
{
echo json_encode($result);
}

最佳答案

PHP 数组和 JS 数组之间存在差异,您不能简单地将 PHP 数组传递给 JavaScript,因此您应该首先 json_encode并将其发送给js。

这会将 PHP 数组转换为 JSON 数组,例如:

 array(3) {
[0]=>
string(3) "foo"
[2]=>
string(3) "baz"
[3]=>
string(5) "blong"
}

string(33) "{"0":"foo","2":"baz","3":"blong"}"

所以尝试一下 -

return json_encode($row);

然后当您收到响应时,使用 parseJSON :

result = jQuery.parseJSON(result);
$.each(result,function(){
$('.StudentName').text(result.name);
$('.FatherName').text(result.fathername);
$('.Email').text(result.email);
});

编辑:

另一件事,不是 return json_encode($row); 而是写 echo json_encode($row);

编辑2

(发送全部 6 条记录)

$final = array();
while($result=mysql_fetch_array($query))
{
array_push($final,$result);
}
echo $final;

关于javascript - 使用each()打印数组时jquery ajax()问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23013370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com