没有从(GET) Ajax结果从Php数组与json_encode



我有一个GET表单,得到一个Php数组和json编码它。我遇到的问题是成功数据没有显示。我希望成功地在警报或控制台中显示数据,但由于某种原因它不起作用。我已经尝试了很多选择。谢谢你的帮助。

PS:我知道GET和所有文件都可以工作,因为当我获得脚本时,Ajax响应结果将成功填充/附加表。我正在修改。

下面是AJAX的php索引文件:

<!doctype html>
<html>
<head>
<title>Return JSON response from AJAX using jQuery and PHP</title>
<link href="style.css" type="text/css" rel="stylesheet">
<script src="jquery-3.1.1.min.js" type="text/javascript"></script>
</head>
<body>

<script>        
$(document).ready(function() {
$.ajax({
url: 'ajaxfile.php',
type: 'get',
dataType: 'JSON',
success: function(data) {
var obj = jQuery.parseJSON(data);
alert(obj.username);
}
});
});
</script>  
</body>
</html>

这是查询数据库和编码/array json的php文件:

<?php
$return_arr = array();
$sql = "SELECT * FROM users  ORDER BY NAME";
$result = $conn->query($sql);

// Check database connection first
if ($conn->query($sql) === FALSE) {
echo 'database connection failed';
die();
} else {
while($row = $result->fetch_array()) {
$id = $row['id'];
$username = $row['username'];
$name = $row['name'];
$email = $row['email'];

$return_arr[] = array("id" => $id,
"username" => $username,
"name" => $name,
"email" => $email);
}

// Encoding array in JSON format
echo json_encode($return_arr);
}
?>

echo json_encode数组从PHP文件输出如下所示(测试内容):

[{"id":"1","username":"jiten","name":"Jiten singht","email":"jiten9"},{"id":"2","username":"kuldeep","name":"Kuldeep","email":"kuldee"},{"id":"3","username":"mayank","name":"Mayank","email":"mayank"},{"id":"9","username":"mohit","name":"Mohit","email":"mohit"},{"id":"13","username":"mukesh","name":"Mukesh","email":"mukesh"},{"id":"6","username":"nitin","name":"Nitin","email":"niti"},{"id":"12","username":"palash","name":"Palash","email":"palash"},{"id":"7","username":"rahul","name":"Rahul singh","email":"rahul"},{"id":"10","username":"rohit","name":"Rohit singh","email":"rohit"},{"id":"8","username":"shreya","name":"Shreya","email":"shreyam"},{"id":"11","username":"sonarika","name":"Sonarika","email":"sonarika"},{"id":"5","username":"vijay","name":"Vijay","email":"vijayec"},{"id":"14","username":"vishal","name":"Vishal Sahut","email":"visha"},{"id":"4","username":"yssyogesh","name":"Yogesh singh","email":"yoges"}]

当我执行success result (data)和alert(data)时,我得到的是空对象

我发现该解决方案经过测试并有效。要在Ajax中返回/警报Json_encoded php Array,你需要添加"JSON.stringify(data)">

<script>        
$(document).ready(function(){
$.ajax({
url: 'ajaxfile.php',
type: 'get',
dataType: 'JSON',
success: function(data){
alert(JSON.stringify(data));

}
});
});
</script>  

尝试迭代成功后的对象数组:function

$(document).ready(function () {
$.ajax({
url: 'ajaxfile.php',
type: 'get',
dataType: 'JSON',
success: function (data) {
var results = JSON.parse(data);
let output = "";
$.each(results, function (key, value) {
output += value.id + " " + value.username + " " + value.name + " " + value.email;
});
alert(output);
}
});
});

最新更新