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

从PHP+MySQL取数据转JSON遇SyntaxError错误求助

解决Angular解析JSON时的SyntaxError: Unexpected token T错误

嘿,这个错误我见得不少,核心问题很明确:你的PHP后端返回的内容不是合法的纯JSON,前端拿着混了其他文本的内容去解析,自然就报错啦。咱们一步步来排查解决:

第一步:先看PHP接口到底返回了啥

直接在浏览器地址栏里输入你的PHP接口URL,看看返回的完整内容。你肯定会发现里面不是干净的JSON——要么混了PHP的错误提示(比如Notice:或者Warning:,不过你说的是T开头,大概率是你自己加的调试输出,比如Total records: ...这类文本),这些额外内容直接破坏了JSON的结构,导致前端解析失败。

举个反例,如果你的PHP代码是这样的:

echo "Got data from DB!";
echo json_encode($userData);

那返回的内容就是Got data from DB![{"id":1,"name":"xxx"}],这根本不是合法JSON,前端解析到第二个字符T的时候就懵了,直接抛出错误。

第二步:把PHP后端改成只输出纯JSON

这一步是关键,要确保PHP只返回JSON,没有任何多余输出:

  • 删掉所有调试用的echo、print语句,别再输出无关文本了;
  • 检查PHP有没有自动输出的错误信息(比如未定义变量的Notice),这些会偷偷混进响应里。要么在PHP开头加上两行代码屏蔽错误输出:
error_reporting(0);
ini_set('display_errors', 0);

要么干脆把这些错误修复掉(比如给变量赋默认值),从根源解决问题;

  • 最后,一定要设置正确的响应头,然后只输出JSON:
// 告诉前端这是JSON格式的响应
header('Content-Type: application/json');
// 输出JSON数据
echo json_encode($yourDataArray);
// 确保后面没有其他代码输出内容
exit;

第三步:Angular这边也优化一下

另外,你代码里用的是旧版的Http模块,现在Angular推荐用HttpClient,它会自动帮你解析JSON,省得手动调用JSON.parse还容易出问题:

  1. 先在AppModule里导入HttpClientModule:
import { HttpClientModule } from '@angular/common/http';

@NgModule({
  imports: [
    // ...其他你已经导入的模块
    HttpClientModule
  ]
})
export class AppModule { }
  1. 然后在组件里替换成HttpClient:
import { Component } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Component({
  selector: 'app-sign-up',
  templateUrl: './sign-up.component.html',
  styleUrls: ['./sign-up.component.css']
})
export class SignUpComponent {
  constructor(private http: HttpClient) {
    // 调用获取数据的方法
    this.getDbData();
  }

  getDbData() {
    this.http.get('你的PHP接口地址')
      .subscribe(
        (data) => {
          console.log('拿到的数据:', data); // 直接就是解析好的对象/数组,不用手动转JSON
        },
        (error) => {
          console.error('请求出错啦:', error);
        }
      );
  }
}

最后总结一下

先通过浏览器确认PHP接口的输出是纯JSON,这是解决问题的核心。只要后端输出合法了,前端这边不管用旧的Http还是新的HttpClient,都能正常解析数据啦。

内容的提问来源于stack exchange,提问作者Poornima K

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:22:44