这是postman返回json数组postman的屏幕截图。 我怎么解决?
userservice.ts
@Component({
selector: 'app-add-user',
templateUrl: './add-user.component.html',
styleUrls: ['./add-user.component.css']
})
export class AddUserComponent implements OnInit {
username: string ;
email: string;
errors= [];
constructor(private _userService: UserService , private router: Router) { }
addUser(username, email) {
let user: any;
user = {username: username, email: email};
this._userService.addUser(user).subscribe(
result => this.router.navigate(['/users']),
err => this.errors.push(err)
);
}
ngOnInit() {
}
}
在网络devtools我有这个screenshot of network 附加user.ts
* @param Request $request
* @param Validate $validate
* @return JsonResponse
* @Route("/api/users",name="create_user")
* @Method({"POST"})
*/
public function createUser(Request $request,Validate $validate)
{
$data=$request->getContent();
$user=$this->get('jms_serializer')->deserialize($data,'AppBundle\Entity\User','json');
$reponse=$validate->validateRequest($user);
if (!empty($reponse)){
return new JsonResponse($reponse, Response::HTTP_BAD_REQUEST);
}
$em=$this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
$response=array(
'code'=>0,
'message'=>'Post created!',
'errors'=>null,
'result'=>null
);
return new JsonResponse($response,Response::HTTP_CREATED);
}
UserController中
{{1}}
答案 0 :(得分:0)
您的代码
return this.http.post(this.uri, JSON.stringify(user), {headers : headers})
.map(res => res.json());
从此
中删除地图功能你试图将对象和数组都转换为json,这就是问题所在。
或强>
return this.http.post(this.uri, JSON.stringify(user), {headers : headers})
.map(res => console.log(res));
使用上面的代码检查并粘贴您的控制台值