Jquery Laravel阻止直接访问ajax路由
如何阻止/重定向对ajax路由的直接访问 我创建了中间件OnlyAjax.phpJquery Laravel阻止直接访问ajax路由,jquery,ajax,laravel,Jquery,Ajax,Laravel,如何阻止/重定向对ajax路由的直接访问 我创建了中间件OnlyAjax.php <?php namespace App\Http\Middleware; use Closure; class OnlyAjax { public function handle($request, Closure $next) { if ( ! $request->ajax()) return redirect()->route('
<?php
namespace App\Http\Middleware;
use Closure;
class OnlyAjax
{
public function handle($request, Closure $next)
{
if ( ! $request->ajax())
return redirect()->route('admin.dashboard');
return $next($request);
}
}
我的路线
Route::middleware(['ajax'])->group(function () {
Route::group(['middleware' => ['roles'], 'roles' => [1, 2, 3, 4]], function () {
Route::post('select-plan', 'AjaxController@selectPlan')->name('ajaxSelect.plan');
});
});
但我犯了个错误
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
没有消息
当我将Route::post更改为Route::get时,它正在工作。但是我想使用Route::post定义2方法,并在控制器上决定如何处理流量
Route::match(array('GET','POST'),'select-plan', 'AjaxController@selectPlan')->name('ajaxSelect.plan');
在控制器中
if (Request::isMethod('get')){
// redirect user
}
if (Request::isMethod('post')){
// do logic for post method
}
尝试使用$request->wantsJson$request->wantsJson不工作
if (Request::isMethod('get')){
// redirect user
}
if (Request::isMethod('post')){
// do logic for post method
}