ajax - Laravel 中的 PATCH AJAX 请求

标签 ajax rest laravel httpverbs

是否可以向 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/

相关文章:

javascript - Rails ajax 错误 - SyntaxError : Unexpected token C in JSON at position 0

json - REST:使用一个请求更新多个资源 - 它是标准的还是应该避免的?

php - Laravel 5,无法使用数据库 :seed (Label DB already defined)

php - 如何缩进 Laravel Controller ,查看代码?

php - 使用 2 个查询的 Ajax PHP 更新

java - 使用智能 GWT 分离 RadioGroupItem 中的单选按钮元素

java - 在 java Spring Rest 服务中下载并读取大型 csv 文件

java - 如何使用 Rest API 在 MongoDB 中使用 $in

javascript - 类型错误 : Cannot read property '$auth' of undefined Vuejs

jquery - 如何在 ASP.NET MVC 中使用 JQuery 调用 Controller 操作