Laravel 5 - 在公共文件夹中使用php文件作为视图并传递json

时间:2017-11-23 03:47:35

标签: php json laravel api laravel-5

我正在使用Laravel 5.3制作后端API

其中一个API是OnaController,它将返回Json格式:

public function index()
{
    $limit = Input::get('limit') ?: 10;

    if ($limit < 1 or $limit > 100) {
        $limit = 10;
    }

    $ona_datas = Onaio::where('status', '<>', 4)->paginate($limit);

    return $this->respondWithPagination(
                $ona_datas,
                $this->onaTransformer->transformCollection($ona_datas->all())
            );
}

名为 ona_list.php 的前端文件放置在公共文件夹(/ public)

我的问题是如何将文件作为视图,然后将json传递给它? 我想打开具有相同网址的文件(my_website.com/ona)

这是我到目前为止所尝试的内容:

  1. return view(asset('ona_list.php')但它扔了InvalidArgumentException in FileViewFinder.php line 137: View [http:..localhost:8000.ona_list.php] not found.

  2. return redirect(asset('ona_list.php')) ->with(json_decode($this->respondWithPagination($ona_datas, $this->onaTransformer->transformCollection( $ona_datas->all())))); 但网址已更改为my_website.com \ ona_list.php且数据未显示

1 个答案:

答案 0 :(得分:0)

为什么要将ona_list.php放在公共文件夹中?默认情况下,所有请求都会重定向到index.php

您可以做的是,将新路线定义为以下Route::get('ona', 'OnaController@index');并将其作为your_website.com/ona

进行访问 OnaController@index中的

确保您返回json,如下所示

class OnaController extends Controller { ... return response()->json($ona_dates); }