是否可以向 Laravel 发出 AJAX PATCH 请求,或者我是否仅限于 POST? Laravel 在输入隐藏字段中使用 PATCH,但是,我没有使用表单元素——只是在点击时应该部分更新记录的按钮(通过 AJAX 请求)。
这条路线会是什么样子?
路由文件 Route::patch('questions/{id}', 'QuestionController@update')->before('admin');
我不确定 laravel 路由是否支持 PATCH。
Controller
public function update($id) {
if (Request::ajax() && Request::isMethod('patch')) {
//partially update record here
}
}
JS
$('div#question_preview <some button selector>').click(function (event) {
$.ajax({
url: 'questions/'+question_id,
type: 'PATCH',
data: {status: 'some status'}
});
});
我只是在寻找清晰度,谢谢!
最佳答案
是的,可以试试
在你的 JavaScript 中
$('#div#question_preview <some button selector>').click(function() {
$.ajax({
url: 'questions/'+question_id,
type: 'PATCH',
data: {status: <SOME VALUE I WANT>, _method: "PATCH"},
success: function(res) {
}
});
});
在你的路上
Route::patch('questions/{id}', 'QuestionController@update')->before('admin');
在你的 QuestionController Controller 的更新方法中
dd(Request::method());
你会看到这样的回应
string(5) "PATCH"
在 Laravel doc 上阅读有关请求信息的更多信息.
关于ajax - Laravel 中的 PATCH AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27914559/