You need to enable JavaScript to run this app. 前端JSON请求报SyntaxError: Unexpected token '<' 解析错误求助
优惠活动
大模型
产品
解决方案
定价
更多

前端JSON请求报SyntaxError: Unexpected token '<' 解析错误求助

「Unexpected token < in JSON」报错排查方案

该报错不存在前端本地JSON编码、页面语法配置层面的诱因,核心触发逻辑是前端JSON.parse()执行时,拿到的接口响应体根本不是合法JSON字符串,位置1出现的<,是HTML内容、PHP错误输出、服务器报错页的典型起始字符——本质是后端接口没有正常输出约定的JSON结构,直接返回了一段带尖括号的非JSON内容。

按优先级排查路径

  • 第一优先:抓取接口原始响应,不要靠前端解析结果反向猜测。打开浏览器开发者工具「Network」面板,定位发往PHP接口的请求,查看「Response」标签的原始返回内容:
    • 如果返回内容以<br />、<b>Warning</b>、<b>Fatal error</b>开头,说明PHP代码在执行到输出JSON的逻辑前就抛出了警告/致命错误,直接把报错文本当响应体返回了
    • 如果返回整段结构完整的HTML错误页(比如404 Not Found、500 服务器内部错误页面),说明请求根本没有命中目标PHP接口文件,大概率是URL路径写错、接口文件权限不足、服务器路由配置异常
    • 如果返回内容直接是PHP源码片段(开头带<?php标记),说明当前运行环境没有配置PHP解析能力,服务器把PHP文件当纯静态文本直接返回了
  • 第二优先:核对前端封装请求的逻辑漏洞
    • 确认封装方法是否不管响应内容类型,都会强行执行JSON.parse()——这是触发该类报错的常见封装问题,哪怕后端返回了非JSON的错误内容,前端也会硬解析抛出尖括号报错
    • 确认请求的方法(GET/POST)、请求头、传参格式是否和后端接口的接收规则匹配,避免因请求不合法被服务器直接拦截返回错误页
    • 确认请求URL的路径拼写,避免路径错误命中网站根目录的默认404 HTML页面
  • 第三优先:校验PHP接口的输出规范
    • 清理PHP文件开头/结尾的冗余空行、杂散echo调试内容、UTF-8 BOM头,避免这些非预期内容出现在JSON响应的最前面
    • 输出JSON前显式设置响应头:header('Content-Type: application/json; charset=utf-8'),避免服务器自动将响应识别为HTML类型
    • 生产环境关闭PHP的页面错误展示(display_errors = Off),将错误信息写入日志文件,避免PHP警告直接混入响应体

内容的提问来源于stack exchange,提问作者José Vieiros

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.05 17:06:04