AJAX响应未解析为JSON

时间:2019-06-01 08:05:31

标签: javascript php mysql

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

Uncaught SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    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标签访问原始代码。]

0 个答案:

没有答案