如何避免用户在 laravel 5.8 中导航到 ajax url?
How to avoid user navigate to ajax url in laravel 5.8?
我用 laravel 5.8 创建了简单的 Web 应用程序。
这是我的项目 url http://localhost/test/public/home
web.php
Route::group(['middleware' => ['auth', 'preventBackHistory']], function() {
Route::get('home', 'HomeController@index')->name('home');
Route::post('generate_table.data', 'HomeController@generate_table')->name('generate_table.data');
});
我把这个ajax调用成home.blade
"ajax": {
"url":"{!! route("generate_table.data") !!}",
"type": "POST",
"jsonpCallback": 'jsonCallback',
"dataType": "jsonp"
}
我没有任何问题 ajax.it 正在加载数据。如果我导航到 http://localhost/test/public/generate_table.data?callback=jsonCallback ,我会出现
黑屏
Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
No message
如果用户导航 http://localhost/test/public/generate_table.data?callback=jsonCallback 如何导航回 /home?
.env
APP_DEBUG=false
谢谢。
将此添加到您的路线中:
Route::get('generate_table.data', 'HomeController@index');
您可以在使用 GET 方法时重定向用户。
// GET method will be redirected to home.
Route::get('generate_table.data', function () {
return redirect()->to('/');
});
// The POST method will be passed to the controller.
Route::post('generate_table.data', 'HomeController@generate_table')->name('generate_table.data');
我用 laravel 5.8 创建了简单的 Web 应用程序。 这是我的项目 url http://localhost/test/public/home
web.php
Route::group(['middleware' => ['auth', 'preventBackHistory']], function() {
Route::get('home', 'HomeController@index')->name('home');
Route::post('generate_table.data', 'HomeController@generate_table')->name('generate_table.data');
});
我把这个ajax调用成home.blade
"ajax": {
"url":"{!! route("generate_table.data") !!}",
"type": "POST",
"jsonpCallback": 'jsonCallback',
"dataType": "jsonp"
}
我没有任何问题 ajax.it 正在加载数据。如果我导航到 http://localhost/test/public/generate_table.data?callback=jsonCallback ,我会出现
黑屏Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException
No message
如果用户导航 http://localhost/test/public/generate_table.data?callback=jsonCallback 如何导航回 /home?
.env
APP_DEBUG=false
谢谢。
将此添加到您的路线中:
Route::get('generate_table.data', 'HomeController@index');
您可以在使用 GET 方法时重定向用户。
// GET method will be redirected to home.
Route::get('generate_table.data', function () {
return redirect()->to('/');
});
// The POST method will be passed to the controller.
Route::post('generate_table.data', 'HomeController@generate_table')->name('generate_table.data');