【问题标题】:store result of ajax call in jqgrid to local variable将 jqgrid 中 ajax 调用的结果存储到局部变量
【发布时间】:2014-02-25 07:28:13
【问题描述】:

我可以通过从服务器返回的 json 使用以下代码填充我的 jqgrid - 部分代码

$.extend($.jgrid.nav, {refreshstate: "current"});
    $('#jqgrid').jqGrid({
        mtype:'GET',
        url: 'getdata.json',
        datatype: 'json',
        jsonReader:{
            repeatitems: false,
            id:'guid',
            root: 'productinfo',
            page: function (obj) { return 1; },
            total: function (obj) { return 100; },
            records: function (obj) { return obj.length; }
        },

当用户去编辑一条记录时,我想显示选择的记录 - 因为我已经收集了所有数据来填充 jqgrid,我不想再次调用我的服务来获取记录。

我查看了jsonstring,但随后收到警告,因为该文档指出分页可能无法工作,因为数据类型已切换为local 数据类型。

如果我可以将服务器返回的 json 结果保存到本地 var,我可以使用该本地 var 数组来获取选定行的数据记录。

即使我返回的 json 包含更多元素,我也只在 jqgrid 中显示 2 列

这是在主干视图内完成的

【问题讨论】:

    标签: javascript jquery jqgrid


    【解决方案1】:

    您可以使用全局 ajax 事件,例如:

    var localVar;
    $(document).ajaxSuccess(function(event, XMLHttpRequest, ajaxOptions) {
       if (ajaxOptions.url === 'getdata.json') {
          localVar = XMLHttpRequest.responseText;
       }
    });
    

    【讨论】:

    • 我试过了,代码不需要输入if条件,我的jqgrid被填充了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-29
    • 1970-01-01
    • 2023-02-10
    相关资源
    最近更新 更多