2016-09-15 57 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. 

}