如何在Laravel视图中读取响应API JSON

时间:2018-10-08 09:12:59

标签: json laravel api decode

h-e-l-l-o每个人

我收到了此回复

enter image description here

现在我想在View文件中使用foreach来显示所有用户

这是我的控制器功能:

public function ShowUserList()
{
    return response()->json(User::all(), 200);
}

public function ShowUser()
{
    $users = $this->ShowUserList();
    return view('show_users', compact('users'));        
}

当我在视图中渲染它时,我收到了我上传到顶部的回复

3 个答案:

答案 0 :(得分:1)

ShowUserList()方法中,您不仅要获取json数据,而且还要尝试发送响应。

public function ShowUserList()
{
    return response()->json(User::all(), 200);
}

因此您需要进行更改;

public function ShowUserList()
{
    return User->all()->toJson();
}

答案 1 :(得分:1)

if I understood your question , try like below code ...

//in your controller class..

public function ShowUserList()
{
    return response()->json([
                           'status_code'=>200,
                           'data'=>User::all(),
                           'error' => false
                         ]);
}

// in your view file..

var response = JSON.parse(response)
if(!response.error){
    for(var i=0; i<response.data.length; ++i){
         console.log(response.data[i].name+' '+response.data[i].email)
    }
}

答案 2 :(得分:1)

如果我是对的,则需要在视图中解析json。

public function ShowUserList()
{
    return response()->json(User::all(), 200);
}

public function ShowUser()
{
    $users = json_decode( $this->ShowUserList(), true );
    return view('show_users', compact('users'));        
}

因此,根据您的观点,您可以执行以下操作:

// now this is just an json object not array..

  {{ $user['id'] }}
  {{ $user['name'] }}

希望我能帮助您。