现在我有一个Ajax问题..我在过去的3个小时里一直在谷歌,并且无法解决这个问题。基本上我希望我的表单在没有重新加载页面的情况下提交。简单的Ajax吧?仍然不适合我:(
这是我的代码:
$('#counter').submit(function(event){
event.preventDefault();
$.ajax({
type: 'POST',
url: '/games/question/update',
data: $('form#counter').serialize(),
dataType: 'json'
// key: value
}).done(function(data) {
console.log(data);
});
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
return false;
});
我的路线:
Route::group(['prefix' => 'games', 'as' => 'games.'], function () {
Route::get('/', 'GamesController@index')->name('index');
Route::get('/winner', 'GamesController@winner');
Route::put('/question/update', 'GamesController@update');
Route::get('/question/{id}/', 'GamesController@counter');
Route::post('/', 'GamesController@store')->name('store'); });
我的表格如下:
<form method="POST" action="{{ route('games.update', $player->id) }}" id="counter"> ... </form>
我需要使用ajax提交此表单,因为我在同一页面上有第二个表单..
正如你可能会告诉我新的Laravel和php一般,如果你还需要其他任何东西是我的项目的git repo:
https://docs.microsoft.com/en-us/flow/gateway-reference
感谢您的帮助! :)
答案 0 :(得分:1)
这是由于form method spoofing。在点击使用_method
或get
的路线时,您需要设置post
参数。您的表单数据应包括:
_method: 'patch' // or put
有一个helper method:
{{ method_field('patch') }}
以及刀片指令:
@method('put')