gpt4 book ai didi

php - 用php返回json数据

转载 作者:可可西里 更新时间:2023-11-01 13:19:06 24 4
gpt4 key购买 nike

我想返回 json 数据,但我的代码无法正常工作。我没有收到任何错误消息。我有 index.php、ajax.php 和 db.php。 Db.php 正在工作。但是我的 ajax 代码不工作。我的错误在哪里?

index.php:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
</head>
<body>
<div id="test" style="width:500px;height:400px; margin:20px auto;"></div>
<script>
$(window).load(function () {
$.ajax({
dataType: "json",
url: 'ajax.php',
success:function(data){
$("#test").html(data);
}
});
});
</script>
</body>
</html>

Ajax.php:

<?php
require 'db.php';
$query="select lat,lng from locations order by id";
$result = pg_query($link, $query);
if (!$result) {
echo "An error occurred_xxx.\n";
}else {
$arr = pg_fetch_all($result);
echo json_encode($arr);
} ?>

最佳答案

如果您需要 JSON,则无论如何都需要发送它。当您的脚本出错时,您正在做的是发送 text/html。试试这个:

header("Content-Type: application/json");
require 'db.php';
$query="select lat,lng from locations order by id";
$result = pg_query($link, $query);
$response = array();
if (!$result) {
$response = array(
'status' => false,
'message' => 'An error occured...'
);
}else {
$response = array(
'status' => true,
'message' => 'Success',
'data' => ph_fetch_all($result)
);
}

echo json_encode($response);

现在您将看到,我们通过设置正确的 Content-Type header 而不是将纯文本和 json 混合起来来发送实际的 JSON。

要在您的 jQuery 中处理此响应,只需调节响应:

$(window).load(function () {
$.ajax({
dataType: "json",
url: 'ajax.php',
success:function(data){
if(!data.status) {
$("#test").html("ERROR: " + data.message);
} else if(data.status) {
$("#test").html(data);
}
}
});
});

关于php - 用php返回json数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37913147/

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