sách gpt4 ai đã đi

javascript - 控制台错误 - 解析 AJAX JSON 解析

In lại 作者:行者123 更新时间:2023-11-30 22:07:07 28 4
mua khóa gpt4 Nike

我一直在使用 AJAX 从我正在创建的网络服务中解析 JSON 数组时遇到问题。我的前端是一个简单的 ajax 和 jquery 组合,用于显示从我正在创建的网络服务返回的结果。

尽管知道我的数据库查询有结果,但我在 Chrome 的控制台中收到一条错误消息,指出“无法读取未定义的长度属性”。

在寻找答案几天后,我仍然无法弄清楚为什么会出现控制台错误。

感谢您的帮助! :)

function ajaxrequest(e)
{
var r = $('#region').val();
var t = $('#type').val();
console.log(r,t);
$.ajax('https://URL...../.../POI/POI_LOOKUP.php',
{ type: 'GET',
data: 'type='+t+'®ion='+r+'&format=json',
success: onSuccess }
);
}

function onSuccess(data,status,xmlHTTP)
{
var html = "";
for(var i=0; i
{
html = html + '' + '' + '' + '';
}
html = html + '
nametypecountryregion
' + data[i].name + '' + data[i].type + '' + data[i].country + '' + data[i].region + '
';
$('#results').html(html);
console.log(data);
console.log(status);
}

这是我用于搜索并返回所有结果的 PHP:

IF ($type == "any" && !isset($region)) /* Search DB for all types of POI for all regions*/
{
$statement = $conn->prepare("SELECT * FROM pointsofinterest;");
$statement->execute();
$row = $statement->fetch();

if ($row == false)
{
header("HTTP/1.1 204 No Content");
}
khác
{
$allResults = array();
while($row != false)
{
$allResults[] = $row;
$row = $statement->fetch(PDO::FETCH_ASSOC);
}
echo json_encode($allResults);
}
}

1 Câu trả lời

理想情况下,如果没有结果,您应该传回空结果,让 Javascript 决定要做什么(向用户显示友好的消息)。我还没有对此进行测试,这只是为了提供指导,请注意。

PHP

if ($type == "any" && !isset($region)) /* Search DB for all types of POI for all regions*/
{
$statement = $conn->prepare("SELECT * FROM pointsofinterest;");
$statement->execute();
$results = $statement->fetchAll();
if (count($results)!=0){
echo json_encode($results);
} khác {
header("HTTP/1.1 204 No Content");
}
}

JavaScript

您可能希望单独处理 204 响应:How to handle a 204 response in jquery ajax? .下面的代码假定您可能会收到一个空的 JSON 响应。

function onSuccess(data,status,xmlHTTP)
{
if (data.length==0) {
alert("Friendly user message");
return;
}
var html = "";
for(var i=0; i
{
html = html + '' + '' + '' + '';
}
html = html + '
nametypecountryregion
' + data[i].name + '' + data[i].type + '' + data[i].country + '' + data[i].region + '
';
$('#results').html(html);
console.log(data);
console.log(status);
}

关于javascript - 控制台错误 - 解析 AJAX JSON 解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41286461/

28 4 0
Bài viết được đề xuất: php - 使用 MYSQL 通过 ODBC 更新 Filemaker Pro
Bài viết được đề xuất: python - 在Python中解析HTML数据
Bài viết được đề xuất: python - Pandas 日期未显示在绘图上
Bài viết được đề xuất: mysql - MATCH() 子句中列的顺序重要吗?
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com