Php 在laravel中路由vue/ajax请求的正确方法?
我是laravel的新手,我制作了一个可以在没有javascript的情况下运行的web服务(如果用户禁用了它或其他东西) 但如果能够在不刷新整个页面的情况下执行某些操作,用户体验会更好。我希望能够说,在不重新加载页面或刷新通知的情况下发送表单 我能想到的选择是: 1) 将ajax发送到与纯html表单相同的路径,但使用一个额外的变量,并在检测到该变量时使my laravel使用json进行响应 2) 使用API路由?这会检测到当前登录的用户吗? 3) 使用ajax为所有内容创建新路由,即使它们的功能与我当前的路由相同(除了返回视图)Php 在laravel中路由vue/ajax请求的正确方法?,php,ajax,laravel,vue.js,Php,Ajax,Laravel,Vue.js,我是laravel的新手,我制作了一个可以在没有javascript的情况下运行的web服务(如果用户禁用了它或其他东西) 但如果能够在不刷新整个页面的情况下执行某些操作,用户体验会更好。我希望能够说,在不重新加载页面或刷新通知的情况下发送表单 我能想到的选择是: 1) 将ajax发送到与纯html表单相同的路径,但使用一个额外的变量,并在检测到该变量时使my laravel使用json进行响应 2) 使用API路由?这会检测到当前登录的用户吗? 3) 使用ajax为所有内容创建新路由,即使它们
另外,CSRF令牌是否在一行中多次工作,或者我是否需要禁用它来处理一行中的多个ajax表单帖子而不刷新页面?我建议将路由分开,这样既可以防止奇怪的缓存错误,也可以在代码随时间变化时保持清醒 Laravel是现成的设置,允许您在
routes/web.php
中定义web路由,在routes/api.php
中定义api路由。默认情况下,api.php文件中定义的路由将在/api/*
处可用。以这种方式管理更改应用程序要容易得多,而不是试图让控制器同时执行视图和api响应
使用Laravel Passport,当您将Laravel\Passport\Http\middleware\CreateFreshApiToken
添加到web
中间件组时,您的API路由可以通过auth:API
中间件检测当前登录的用户。
管理重复控制器(一个用于web,一个用于api)的简单方法是使用
php artisan make:controller api/FooController
将api控制器放在它们自己的名称空间中。默认情况下,您甚至可以通过编辑RouteServiceProvider.php
设置Api路由来查找此命名空间中的控制器 我建议将路由分开,这样既可以防止奇怪的缓存错误,也可以在代码随时间变化时保持理智
Laravel是现成的设置,允许您在routes/web.php
中定义web路由,在routes/api.php
中定义api路由。默认情况下,api.php文件中定义的路由将在/api/*
处可用。以这种方式管理更改应用程序要容易得多,而不是试图让控制器同时执行视图和api响应
使用Laravel Passport,当您将Laravel\Passport\Http\middleware\CreateFreshApiToken
添加到web
中间件组时,您的API路由可以通过auth:API
中间件检测当前登录的用户。
管理重复控制器(一个用于web,一个用于api)的简单方法是使用
php artisan make:controller api/FooController
将api控制器放在它们自己的名称空间中。默认情况下,您甚至可以通过编辑RouteServiceProvider.php
设置Api路由来查找此命名空间中的控制器 正确的方法是使用API路由。只要您的中间件
和Kernal.php
配置正确,它就会检测登录的用户。确保您的\App\Http\Middleware\EncryptCookies::class,
和\Lightning\Session\Middleware\StartSession::class,
位于api
中间件
和Kernal.php
配置正确,它就会检测登录的用户。确保您的\App\Http\Middleware\EncryptCookies::class,
和\Lightning\Session\Middleware\StartSession::class,
位于api
middlewareGroups