Laravel认为jQuery总是GET请求方法

时间:2018-01-31 23:38:05

标签: php jquery laravel request

Laravel认为jQuery正在发送GET请求,即使它不是。

我已通过request()->method()函数确认了这一点。

控制器功能:

public function fields($vertical_id = null, $lead_id = null)
{
    echo request()->method();
}

jQuery的:

$(document).on('change', '#vertical_id', function () {
    $.post('http://myapp.local/leads/fields/1/2', $(this).closest('form').serialize(), function (data) {
        console.log(data);
    });
});

路线:

Route::any('leads/fields/{vertical_id?}/{lead_id?}', 'LeadController@fields')->name('leads.fields');

请注意,我必须使用any,因为当我尝试使用post时,它会抛出一个不允许异常的方法。我每次发出此请求时都会显示GET

如何让Laravel意识到jQuery正在发送POST而不是GET?

1 个答案:

答案 0 :(得分:0)

删除最后一条路线中的名字。

Route::any('leads/fields/{vertical_id?}/{lead_id?}', 'LeadController@fields');

在route.php文件中试用此代码