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

发起POST请求时出现SyntaxError: Unexpected token U in JSON at position 0错误

解决AngularJS POST请求JSON解析错误:Unexpected token U in JSON at position 0

这个错误其实很典型——它意味着你的前端尝试把API返回的响应解析成JSON,但实际返回的内容根本不是有效的JSON格式,大概率是一段以字母"U"开头的文本(比如"Unauthorized"、"Undefined"这类)。虽然Postman能正常运行,但Postman会自动处理非JSON响应,而AngularJS的$http默认会强制解析响应为JSON,所以就触发了语法错误。

结合你的情况,我给你一步步排查和解决的方案:

1. 先定位问题根源:看API到底返回了什么

首先打开浏览器的开发者工具(F12),切换到Network标签,触发你的submit()函数,找到对应的POST请求,查看它的Response内容。这一步能直接看到后端返回的原始文本,比如如果是"Unauthorized",那就是认证问题;如果是"Undefined",那可能是后端逻辑出错返回了未定义值。

你也可以在$http请求的错误回调里直接打印原始响应,不用等解析:

$scope.submit = function() {
  // 假设你的请求数据结构是这样的
  const requestData = {
    email: $scope.email,
    selectedIds: $scope.selectedIds
  };

  $http.post('/你的API接口地址', requestData)
    .then(function(successRes) {
      // 成功逻辑
      console.log('请求成功:', successRes);
    }, function(errorRes) {
      // 重点打印原始响应数据
      console.log('错误状态码:', errorRes.status);
      console.log('原始响应内容:', errorRes.data); // 这里能看到真实返回的文本
    });
};

2. 常见问题及修复方案

情况1:API返回"Unauthorized"(认证失败)

Postman里你可能手动添加了认证头(比如Authorization的Token),但AngularJS请求里没带上。这时候需要给请求加上对应头:

$http.post('/你的API接口地址', requestData, {
  headers: {
    'Authorization': 'Bearer ' + $rootScope.userToken, // 替换成你的实际token存储位置
    'Content-Type': 'application/json' // 确保这个头存在,AngularJS默认会加,但后端可能要求明确声明
  }
})

情况2:API返回非JSON文本(比如错误提示字符串)

如果后端确实会返回非JSON响应,你可以修改$http的配置,让它在解析失败时返回原始数据:

$http.post('/你的API接口地址', requestData, {
  transformResponse: function(data) {
    try {
      // 尝试解析成JSON
      return angular.fromJson(data);
    } catch (e) {
      // 解析失败就返回原始文本
      return data;
    }
  }
})

情况3:请求数据格式和后端预期不一致

虽然你说email和selectedIds非空,但要确认selectedIds的类型是否正确(比如后端期望数组,你是不是传了字符串?)。可以在请求前打印requestData,和Postman里的请求体做对比:

console.log('请求数据:', requestData);

3. 额外注意点

  • 确保你的API接口地址和Postman里的完全一致(比如有没有漏写斜杠、环境路径不同)
  • 如果后端返回的是500错误,那可能是后端处理请求时出错了,返回的错误页面HTML片段(开头可能是<html>,但有时候也会返回纯文本错误,比如"Undefined"),这时候需要先排查后端逻辑

内容的提问来源于stack exchange,提问作者Shubham Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:31:33