将 JSON 数据从控制器发送到 Blade 中的视图:Laravel 5.2
Send JSON Data from Controller to View in Blade: Laravel 5.2
下面是class即returns国家数据
class CountryData {
public function GetCountries() {
return response()->json(['Data' => \App\Models\CountryModel::all()]);
}
}
我有以下 Json 以上函数返回的数据
HTTP/1.0 200 OK Cache-Control: no-cache Content-Type: application/json
{
"Data":[
{
"CountryID" : 1,
"Country" : "United States",
"CountryCode": "US"
}
]
}
下面是Controller中的代码
$Countries = (new \App\DataAccess\CountryData())->GetCountries();
return view('Country.List')->with('Countries', json_decode($Countries));
下面是View中的代码
@foreach($Countries["Data"] as $Country)
<tr class="odd pointer">
<td class=" ">{{$Country["Country"]}}</td>
<td class=" ">{{$Country["CountryCode"]}}</td>
</tr>
@endforeach
当我键入 echo $Countries;
时,我会看到上面的文字。当我输入 echo json_decode($Countries, true);
它显示空白。你能告诉我为什么会这样吗?
我这样做的原因是使用以下代码将数据传递到 Blade。
$Countries = (new \App\DataAccess\CountryData())->GetCountries();
return view('Country.List')->with('Countries', json_decode($Countries));
需要在json_decode($data,true)函数中加上true。
改变这个
$Countries = (new \App\DataAccess\CountryData())->GetCountries();
return view('Country.List')->with('Countries', json_decode($Countries));
改为
$Countries = (new \App\DataAccess\CountryData())->GetCountries();
return view('Country.List')->with('Countries', json_decode($Countries,true));
查看
@foreach($Countries["Data"] as $Country)
<tr class="odd pointer">
<td class=" ">{{$Country["Country"]}}</td>
<td class=" ">{{$Country["CountryCode"]}}</td>
</tr>
@endforeach
控制器代码如下:
return view('Country.List')->with('Countries', $Countries->getData()->Data);
^^^^^^^^^^^^^^^
但我不确定这是否是解决此问题的正确方法。我正在阅读 JsonResponse
。
下面是class即returns国家数据
class CountryData {
public function GetCountries() {
return response()->json(['Data' => \App\Models\CountryModel::all()]);
}
}
我有以下 Json 以上函数返回的数据
HTTP/1.0 200 OK Cache-Control: no-cache Content-Type: application/json
{
"Data":[
{
"CountryID" : 1,
"Country" : "United States",
"CountryCode": "US"
}
]
}
下面是Controller中的代码
$Countries = (new \App\DataAccess\CountryData())->GetCountries();
return view('Country.List')->with('Countries', json_decode($Countries));
下面是View中的代码
@foreach($Countries["Data"] as $Country)
<tr class="odd pointer">
<td class=" ">{{$Country["Country"]}}</td>
<td class=" ">{{$Country["CountryCode"]}}</td>
</tr>
@endforeach
当我键入 echo $Countries;
时,我会看到上面的文字。当我输入 echo json_decode($Countries, true);
它显示空白。你能告诉我为什么会这样吗?
我这样做的原因是使用以下代码将数据传递到 Blade。
$Countries = (new \App\DataAccess\CountryData())->GetCountries();
return view('Country.List')->with('Countries', json_decode($Countries));
需要在json_decode($data,true)函数中加上true。 改变这个
$Countries = (new \App\DataAccess\CountryData())->GetCountries();
return view('Country.List')->with('Countries', json_decode($Countries));
改为
$Countries = (new \App\DataAccess\CountryData())->GetCountries();
return view('Country.List')->with('Countries', json_decode($Countries,true));
查看
@foreach($Countries["Data"] as $Country)
<tr class="odd pointer">
<td class=" ">{{$Country["Country"]}}</td>
<td class=" ">{{$Country["CountryCode"]}}</td>
</tr>
@endforeach
控制器代码如下:
return view('Country.List')->with('Countries', $Countries->getData()->Data);
^^^^^^^^^^^^^^^
但我不确定这是否是解决此问题的正确方法。我正在阅读 JsonResponse
。