2016-09-15 75 views
0

我有一些意見返回我的模型的數據與toJSON()Laravel路由JSON響應視圖

是否有可能(使用5.3)使那些普通用戶不可用,但可以通過AJAX請求訪問?

我看到有一個api.php路由文件,但這些似乎需要auth:api middlerwares,我不希望他們需要api鍵或什麼,因爲路由被我的應用程序調用本身使用twitter typeahead。

+0

如何定義'普通用戶'? –

回答

2

由於@Mandeep吉爾已經提到的,你可以檢查是否請求來自AJAX來:

function myFunction() { 
    if (!Request::ajax()) { 
     return; 
    } 

    // Include logic here and define data 
    $data = ''; 

    return response()->json($data, 200); 
} 

不過,我建議你創建一個你的應用程序可以使用的私有API。

+0

正如@Gadzhev所說,值得將你的路線和甚至控制器分隔成API特定的命名空間。這將使處理您的請求更加整潔。 – Spholt

+0

你是否有laravel中的私有API或者簡短教程的起點? – Scarwolf

1

如果你是返回結果恢復這樣的:

if(\Request::ajax()) { 

    return \Response::make(["data" => $data]); // return what you likes 

} else { 

    return view('test'); // For normal view not ajax request. 

}