ajax json 不解析,AJAX响应未解析为JSON

在获取AJAX响应并尝试将其解析为JSON时遇到了错误。问题源于一个包含纯HTML的数据库列,该列在特定选择下导致JSON解析失败。已确认当排除该列时,错误不再出现。现在需要找出导致JSON输入意外终止的确切位置。
摘要由CSDN通过智能技术生成

我在获取AJAX响应作为JSON时遇到问题。我的网站是https://www.msrumon.com/academic。一切正常,除了一个。选择“类别:HSC”和“主题:数学”,然后注意控制台。它说:

Uncaught SyntaxError: Unexpected end of JSON input

at JSON.parse ()

at XMLHttpRequest.boss.onreadystatechange (academic:125)

(据我所知),这意味着一个字符串未正确转换为JSON字符串。我花了更多的时间,发现一个数据库表列正在造成此问题。我来详细解释一下:

fetch_academic.php:

if(isset($_POST['class']) && isset($_POST['subject']))

{

$boss = $db->selectdb('select academic.id, AcademicClass.ClassName, AcademicSubject.SubjectName, academic.title, academic.content from academic join AcademicClass on academic.class = AcademicClass.ClassID join AcademicSubject on academic.subject = AcademicSubject.SubjectID where class = '.$_POST['class'].' and subject = '.$_POST['subject'].' and status != 0');

$counter = isset($boss) ? count($boss) : 0;

if($counter == 0) echo json_encode(array('ok' => false));

else echo json_encode(array('ok' => true, 'number' => $counter, 'boss' => $boss));

}

academic.content包含纯HTML代码,每一行的代码完全不同。如果我从SQL中排除它,则对于特定的选择对不会出现此错误。这是longtext类型的列,用于HSC / Mathematics选择,长度为41410个字符。

现在我的问题是:如何找到意外终止JSON输入的确切位置?或者说,有人可以帮我找到它吗?

[附言-您可以从Sources标签访问原始代码。]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值