Laravel:Ajax错误,无法弄清楚如何设置正确的URL

时间:2018-04-15 10:35:38

标签: php ajax laravel

现在我有一个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

感谢您的帮助! :)

1 个答案:

答案 0 :(得分:1)

这是由于form method spoofing。在点击使用_methodget的路线时,您需要设置post参数。您的表单数据应包括:

_method: 'patch' // or put

有一个helper method

{{ method_field('patch') }}

以及刀片指令:

@method('put')