JSON 上的 Javascript/PHP 意外标记 ';'

标签 javascript php jquery mysql json

<分区>

我有一个页面正在向 PHP 发出 AJAX POST 请求,PHP 正在查询 MySQL,并返回一个包含查询响应的 JSON 对象。这一切一直在工作,但它停止了,我无法弄清楚出了什么问题。

这里是发出请求的JS,getDriver.js

var driverList = [];

$.ajax({
    url: './php/GetDriverList.php',
    type: 'post',
    success: function(response){
        console.log(response);
        var tempList = JSON.parse(response);
        for(var i = 0; i < tempList.length; i++){
            driverList.push(tempList[i]);
        }
        buildTable(driverList);
    }
});

这是 PHP,GetDriverList.php

<?php 
$conn = new mysqli('localhost', 'root', '');
$result = mysqli_query($conn, "USE test") or die(mysql_error());
$result = mysqli_query($conn, "SELECT id, fname, lname FROM drivers WHERE 
    isActive = 1");

$rows = array();
while($r = mysqli_fetch_assoc($result)){
    $rows[] = $r;
}

$return = json_encode($rows);
echo $return;
?>;

错误信息如下:

Error:
VM6389:1 Uncaught SyntaxError: Unexpected token ; in JSON at position 183
    at JSON.parse (<anonymous>)
    at Object.success (getDrivers.js:9)
    at u (jquery-3.3.1.min.js:2)
    at Object.fireWith [as resolveWith] (jquery-3.3.1.min.js:2)
    at k (jquery-3.3.1.min.js:2)
    at XMLHttpRequest.<anonymous> (jquery-3.3.1.min.js:2)
success @ getDrivers.js:9
u @ jquery-3.3.1.min.js:2
fireWith @ jquery-3.3.1.min.js:2
k @ jquery-3.3.1.min.js:2
(anonymous) @ jquery-3.3.1.min.js:2
XMLHttpRequest.send (async)
send @ jquery-3.3.1.min.js:2
ajax @ jquery-3.3.1.min.js:2
(anonymous) @ getDrivers.js:5

我删除了 getDrivers.js 中的一些注释,第 9 行对应于“console.log(response)”。但是,此行无法登录到控制台。

最后,我从 Chrome 控制台的网络选项卡中拉出的 JSON 对象如下:

[{"id":"2","fname":"XXXX","lname":"XXXX"},
{"id":"3","fname":"XXXX","lname":"XXXX"},
{"id":"4","fname":"XXXX","lname":"XXXX"},
{"id":"5","fname":"XXXX","lname":"XXXX"}];

求助!我的 JSON 对象突然出了什么问题?

最佳答案

问题是 ?>;,去掉 ; 因为它也属于发送给客户端的输出。

当我使用 php 时,通常省略最后一个 ?> 是一个好习惯,只有在确实有数据需要显示时才添加它。这降低了意外添加不需要的输出的可能性。

关于JSON 上的 Javascript/PHP 意外标记 ';',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48617504/

相关文章:

javascript - 将分层路径数组转换为 JSON

JQuery 随时间悬停

php - 在apache php上实现http2推送方法

javascript - axios + 查询字符串与 jQuery,POST 数据被查询字符串破坏

jquery - 如何使子导航消失而其他子导航在悬停时显示

javascript - 指示器在 loadmask sencha touch 中不起作用

javascript - 给定规则组合的正则表达式

javascript - 求和 html 输入中的数字,Javascript

php - 在数据源默认值中找不到模型的 cakephp 表

php - 如何解密密码并在php中发送邮件