You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PHP8的AJAX表单提交JS代码报错:Unexpected token '<'求助

AJAX JSON解析错误的可能原因及排查方向

这个错误的核心是:你的JavaScript代码期望后端返回JSON格式数据,但实际收到的是HTML内容(从错误里的<br />能判断,大概率是PHP的报错信息或页面内容),导致JSON.parse()无法解析。

可能的原因包括:

  • PHP脚本执行出错:action.php在处理createBlog1请求时发生了语法错误、运行时警告/错误,PHP直接输出了HTML格式的错误提示(比如带有<br />的错误栈),而非预期的JSON。
  • PHP未正确返回JSON:即使逻辑执行正常,action.php也没有设置正确的响应头(Content-Type: application/json),或者在输出JSON前后额外输出了HTML内容(比如调试用的echo语句、页面空格),导致响应内容不是纯JSON。
  • 请求路径错误:action.php的路径配置不正确,服务器返回了404页面的HTML内容,而非目标脚本的响应。
  • 表单参数处理异常:formData中的参数(比如request或datetime)在PHP端处理时触发了错误,导致脚本中断并输出错误HTML。

排查建议

  1. 打开浏览器开发者工具的网络面板,找到action.php的POST请求,查看「响应」内容,直接确认后端返回的具体HTML是什么,就能快速定位是报错、404还是其他问题。
  2. 检查action.php代码:
    • 确保处理createBlog1分支时,先设置响应头:header('Content-Type: application/json');
    • 无论成功还是失败,都用json_encode()输出纯JSON,比如:
      // 成功场景
      echo json_encode(['status' => 'success']);
      // 失败场景
      echo json_encode(['status' => 'error']);
      
    • 确保脚本没有输出任何额外内容(比如开头的空格、调试echo),否则会破坏JSON格式。
  3. 查看PHP错误日志,确认action.php是否有未捕获的错误或异常。

内容的提问来源于stack exchange,提问作者Xav Gabara

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 01:46:47