【发布时间】:2019-04-07 19:11:11
【问题描述】:
我是 laravel 的新手,正在制作一个无需 javascript 即可运行的网络服务(如果用户禁用了它或其他什么)。
但如果不刷新整个页面就能够执行某些操作,那将是更好的用户体验。我想说,无需重新加载页面即可发送表单,或刷新通知。
我能想到的选项是:
1) 将 ajax 发送到与纯 html 表单相同的路由,但带有一个额外的变量,并在检测到该变量时让我的 laravel 以 json 响应
2) 使用 API 路由?这会检测到当前登录的用户吗?
3) 为所有 ajax 创建新路由,即使它们的功能与我当前的路由相同(除了返回视图)
另外,CSRF 令牌是否连续工作多次,或者我是否需要禁用它才能在不刷新页面的情况下连续处理多个 ajax 表单帖子?
【问题讨论】:
-
正确的做法是使用 API 路由。只要您的
middleware和Kernal.php配置正确,它就会检测到登录用户。确保您的\App\Http\Middleware\EncryptCookies::class,和\Illuminate\Session\Middleware\StartSession::class,在您的apimiddlewareGroups中