2015-04-20 29 views
4

這裏從JSON類型的響應值是一個函數返回:如何獲得Laravel5

return response()->json(['aa'=>'bbb']); 

我打印功能的響應,這樣的結果:

JsonResponse {#186 
#jsonOptions: 0 
#data: "{"aa":"bbb"}" 
#callback: null 
#encodingOptions: 15 
+headers: ResponseHeaderBag {#187 
#computedCacheControl: array:1 [ 
    "no-cache" => true 
] 

我從來沒有見過它之前,我怎麼能得到價值bbb?謝謝

+0

的JSON是一個函數返回,我想在控制器中的JSON,而不是在正常的JS腳本 – guanyue

+0

,函數返回是這樣的返回json_encode([「AA」 =>'BBB 「]); 和,我得到這樣的值bbb:$ result = json_decode($ function_return); $ result ['aa']。但它不能在 – guanyue

+0

以上工作如果你只是想讓json字符串使用'json_encode(...)' – lukasgeiter

回答

4

我已經解決了這個問題,使用getData()可以讀取JSON。

$a = response()->json(['aa'=>'bbb']); 
$a->getData()->aa; 
+1

你是我的英雄。 – Zugor

5

你看到的是response()->json()產生的對象。這實際上並不是客戶會得到的。因爲Laravel會在將它返回之前將其轉換爲字符串。

在客戶端上,您可以將其用作JSON。下面是使用jQuery AJAX的例子:

$.ajax({ 
    url: '/your/route' 
}).done(function(data){ 
    alert(data.aa); // alerts bbb 
}); 
+0

我只想獲得作爲函數結果的值。 – guanyue

+0

不是在一個JS腳本 – guanyue