我使用ajax制作了crud,但是当我在Ajax中更新时,它不会停留在同一页面上,而是自动重定向到另一条路径。
Route::get('/news', 'NewsController@index')->name('news');
Route::post('/news/save/', 'NewsController@saveUpdate')->name('news.saveUpdate');
function ajaxSaveUpdate(){
$.ajax({
url: "{{route('news.saveUpdate')}}",
type: "post",
data: {
_token:"{{csrf_token()}}",
"id":$('#hid-id').val(),
"title":$('#edit_title').val(),
"description":$("#edit_description").val(),
"status":$("#edit_status").val()
},
success: function(response){
table.clear();
ajaxLoad();
}
});
}
这里,在我更改表单中的数据并提交更新后。我明白了:
MethodNotAllowedHttpException in RouteCollection.php line 251:
如果我用f5键/ ctrl + r刷新它会继续显示相同的错误。但是,如果我点击地址栏(在你输入网址的浏览器中的字段)并按“输入”键,它会引导我进入主页/应该去的地方,而不是再次显示“HttpException”,就像我按下“f5” “刷新密钥。
要摆脱这个错误,我将不得不改变路线:
Route::get('/news', 'NewsController@index')->name('news');
到
Route::post('/news', 'NewsController@index')->name('news');
但是,它不应该进入'/ news'路线,而应该进入:
Route::post('/news/save', 'NewsController@saveUpdate')->name('news.saveUpdate');
问题:为什么它没有被重定向就自动转到第一条路线而不是第二条路线?我该如何解决错误?
P.S。我没有将页面重定向到控制器或任何其他文件中的第一个路径。任何改进我的代码方式的建议将不胜感激。谢谢!