【问题标题】:setting delete options in jqgrid using extend is not working使用扩展在 jqgrid 中设置删除选项不起作用
【发布时间】:2016-05-12 06:44:07
【问题描述】:

我正在尝试根据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",它会按预期工作。

【问题讨论】:

    标签: jquery jqgrid


    【解决方案1】:

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

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

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

    请在所有问题中始终写明您使用的 jqGrid 版本和 jqGrid 的哪个分支(free jqGridGuriddo jqGrid JS 或版本 一年多以来,我开发了免费的 jqGrid fork,并实现了许多新功能。一些新功能简化了 RESTful 服务的使用。请参阅the answer,它展示了如何使用定义为删除操作的函数的url 以及定义为添加/编辑的函数的urlmtype

    【讨论】:

    • 谢谢奥列格。我使用的是 guriddo 的 jqgrid 版本(5.0.1),因为它支持 bootsrap。我提取了您的存储库,现在它按预期工作。是否可以使用引导程序来设置您的 jqgrid 版本的样式?感谢您的出色工作
    • @babak:不客气!您可以从 GitHub 下载的最新版本(4.12.2-pre)不是最终版本,但您可以下载它并使用新的 guiStyle: "bootstrap" 选项。它目前仅与iconSet: "fontAwesome" 结合使用。您可以在 HTML 页面上同时包含 bootstrap.cssfont-awesome.css,但不需要包含 jquery-ui.css请参阅the demo。我仍在开发 4.12.2-pre,因此某些功能还没有完全完成。
    • @babak:在iconSet: "fontAwesome" 的主要部分完成后,我将包括对带有iconSet: "glyphicon" 的Bootsrtap 的支持(Bootstrap 没有Font Awesome)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-20
    相关资源
    最近更新 更多