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?
答案 0 :(得分:0)
删除最后一条路线中的名字。
Route::any('leads/fields/{vertical_id?}/{lead_id?}', 'LeadController@fields');
在route.php文件中试用此代码