我正在学习Angular 2,我想构建一个应用程序,它在Lumen Framework中有后端,在Angular 2中有前端。
我已经创建了从数据库获取数据的方法,我将以这种方式返回
return response()->json(['code' => 200, 'characters' => $characters])->header('content-type', 'application/json')->header('Access-Control-Allow-Origin', '*');
并且在角度2 app中我试图通过此代码获取此数据
this.http.get(this.url)
.toPromise()
.then(response => response.json().data as Character[])
.catch(this.handleError);
但是我回到了一个空数组,我知道回收数据的网址是正确的,而且数据也存在。
我尝试返回类似return-> response('test')的内容,我发现字符串测试存在。
答案 0 :(得分:0)
因为你的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
..没有像data
这样的属性。如果要提取阵列,则需要使用
response.json().characters
希望这有帮助! :)