我的API使用PHP Silex发送的JSON响应如下:
{"response":true,"message":"Bla","userId":"AAA"}
但是我无法在我的 TypeScript 前端解析它。
this.authService.login(body).then((result : any) => {
console.log(result.data); // => {"response":true,"message":"Bla","userId":"AAA"}
let parsed = JSON.parse(result.data);
console.log(parsed.message); // => throws "SyntaxError: Unexpected token in JSON at position 0\n at JSON.parse (<anonymous>)
我使用PHP和Silex框架创建的php端点:
$app->post('/user/login', function (Request $request) use ($app, $config) {
$email = $request->request->get('user-email');
$password = $request->request->get('user-password');
$rsp = loginUser($email,$password);
return $app->json($rsp);
});
当尝试将json对象硬编码到代码中时,它确实可以解析!
更新解决方案 我不得不对result.data使用trim()来删除空格,某些情况下响应会带有空格,JSON不喜欢那样。谢谢大家的帮助。
console.log(result.data.message)
显示什么? - Exterminator