【解决】Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse

本文档详细介绍了在使用AJAX获取数据时遇到的'Uncaught SyntaxError: Unexpected end of JSON input'错误的原因及解决方案。问题源于后端返回的JSON数据格式不正确或方法不当。在PHP中,应确保JSON字符串使用英文双引号包裹以避免解析错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ajax获取不到数据:

问题描述:

VM379:1 Uncaught SyntaxError: Unexpected end of JSON input at JSON.parse (

在这里插入图片描述


原因分析:

1、后端返回json数据格式错误
2、后端返回json数据方法不对


解决方案:

PHP:

  return json_encode(array(
         'status' => 3,
         'message' => 'ID不正确'
     ));

改为:

echo '{"status": 3, "mesg": "ID不正确" }';

注意:JSON字符串 应该用 英文双引号包裹

问题解决

 // ajax
    function del_cate(id, pid) {
      if (window.XMLHttpRequest) {
        var xmrt = new XMLHttpRequest();
      } else {
        var xmrt = new ActiveXObject('Microsoft.XMLHTTP');
      }

      xmrt.onreadystatechange = function () {
        if (xmrt.readyState == 4 && xmrt.status == 200) {
          console.log(xmrt);
          console.log(JSON.parse(xmrt.responseText));
          var status = JSON.parse(xmrt.responseText);

          if (status.status == 1) {
            alert('删除成功!');
            window.location.href = 'cate.php';
          } else if (status.status == 0) {
            alert('删除失败!');
            window.location.href = 'cate.php';
          } else {
            alert('删除失败!');
            window.location.href = 'cate.php';
          }
        }
      }
      xmrt.open('DELETE', './del_cate.php?id=' + id + '&pid=' + pid, true);
      xmrt.send();
    }

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值