尝试使用Angular 2 Http从Lumen应用程序获取数据
我正在学习Angular 2,我想构建一个后端在Lumen框架中,前端在Angular 2中的应用程序 我已经创建了从数据库中获取数据的方法,并以这种方式返回它尝试使用Angular 2 Http从Lumen应用程序获取数据,angular,lumen,Angular,Lumen,我正在学习Angular 2,我想构建一个后端在Lumen框架中,前端在Angular 2中的应用程序 我已经创建了从数据库中获取数据的方法,并以这种方式返回它 return response()->json(['code' => 200, 'characters' => $characters])->header('content-type', 'application/json')->header('Access-Control-Allow-Origin', '
return response()->json(['code' => 200, 'characters' => $characters])->header('content-type', 'application/json')->header('Access-Control-Allow-Origin', '*');
在angular 2应用程序中,我试图通过这个代码获取这些数据
this.http.get(this.url)
.toPromise()
.then(response => response.json().data as Character[])
.catch(this.handleError);
但是我得到了一个空数组,我确信返回数据的url是正确的,并且数据是存在的
我试图返回类似return->response('test')的内容,我看到字符串测试存在 由于您的JSON如下所示:
{
"code":200,
"characters":[
{
"id":1,
"name":"tomek",
"lead":"something about tomek",
"created_at":"2017-03-06 17:34:45",
"updated_at":"2017-03-06 17:34:45"
}
]
}
当您试图提取时:
response.json().data
…没有像数据那样的属性。如果要提取数组,需要使用
response.json().characters
希望这有帮助!:) 在不使用.data
的情况下尝试它,即response.json()
而不是response.jsons()。data
我尝试了,但没有work@Tomek你检查过你的网络标签了吗,这个回复看起来怎么样?是的,当然,它看起来像这样{“代码”:200,“字符”:[{“id”:1,“name”:“tomek”,“lead”:“关于tomek的事情”,“创建时间”:“2017-03-06 17:34:45”,“更新时间”:“2017-03-06 17:34:45”},{“id”:2,“name”:“test2”,“lead”:“test21”,“创建时间”:null,“更新时间”:null}好吧,谢谢你的帮助,我没有看到结果之前,因为承诺,我没有等待足够长。谢谢你欢迎,请考虑接受答案,因为它帮助你。你可以这样做,点击灰色的蜱在这个答案投票:)此外,快乐编码!