使用扩展在 jqgrid 中设置删除选项不起作用

setting delete options in jqgrid using extend is not working

我正在尝试根据 this question 使用 jqgrid 的休息服务,我想为我所有的网格设置 "DELETE" 方法,但 jqgrid 仍然使用 POST 作为发送删除请求的方法。我是这样做的:

$.extend($.jgrid.del, {
mtype: "DELETE"});

这是我在 navGrid 中的网格实例删除选项:

{
    url: '../../webresources/routing/phoneNumber',

    serializeDelData: function () {
        return ""; // don't send and body for the HTTP DELETE
    },
    onclickSubmit: function (params, postdata) {
        params.url += '/' + encodeURIComponent(postdata);
    },
    errorTextFormat: function (data) {
        return 'Error: ' + data.responseText;
    }
}

如果我在 navGrid 删除选项中设置 mtype:"DELETE" 它会按预期工作。

我想你把语句 $.extend($.jgrid.del, { mtype: "DELETE"}); 放在了错误的地方。此外,使用 $.extend 的非深度版本是危险的。我建议你使用

$.extend(true, $.jgrid.del, { mtype: "DELETE"});

相反。此外,您可以将 mtype: "DELETE" 直接放在删除选项列表中 in navGrid.

请在所有问题中始终写下 jqGrid 的哪个版本以及 jqGrid 的哪个分支(free jqGrid, Guriddo jqGrid JS or an old jqGrid in version <=4.7) you use. I develop free jqGrid fork since more as one year and have implemented a lot of new features. Some from new features simplifies the usage of RESTful services. See ,这说明了如何使用 url 定义为函数用于删除操作并使用 urlmtype 定义为 Add/Edit.

的函数