【问题标题】:capture and compare 2 json results捕获并比较 2 个 json 结果
【发布时间】:2013-09-17 19:21:30
【问题描述】:

我有一个使用 ajax/json 加载数据的 jqgrid,然后我有一个每 15 秒运行一次的函数来检查数据是否已更改,如果有,我需要从 jqgrid 上传数据,问题是有是我的2个调用返回相同的结果但是当我比较它们时我发现它们是不同的,我能找到的唯一区别不是数据,是调用的参数,因为jqgrid添加了_search,page,order等参数等,但它们对结果没有影响。

当网格调用时,我将数据存储在 gloval var(我的网格代码的一部分)中:

jQuery("#scheduledGrid").jqGrid({
    url: '../Agenda/turneraJSON',
    datatype: "json",
    postData: {
        'fecha': function () { return $("#selectedDate").val(); },
        'idTipoConsulta': function () { return $("#idTipoTurnoSeleccionado").val(); },
        'idEspecialidad': function () { return $("#idEspecialidadSeleccionada").val(); },
        'idEstado': function () { return $("#idEstadoSeleccionado").val(); }
    },
    loadComplete: function (data) {
        tempData = data;},

然后我有另一个电话

  window.setInterval(function () {
            chkUpdates();
        }, 15000);

    function chkUpdates() {
        $.ajax({
            type: "GET",
            url: '../Agenda/turneraJSON',
            datatype: "json",
            data: {
                fecha: function () { return $("#selectedDate").val(); },
                idTipoConsulta: function () { return $("#idTipoTurnoSeleccionado").val(); },
                idEspecialidad: function () { return $("#idEspecialidadSeleccionada").val(); },
                idEstado: function () { return $("#idEstadoSeleccionado").val(); }
            }                
        }).done(function (msg) {
            tempData2 = msg;
            if (tempData2 == tempData) {
                alert("yes");
            }
            else {
                alert("no");
                //refreshGrid();
            }

        });

问题是if (tempData2 == tempData) 一直是假的

有什么想法吗?

【问题讨论】:

  • 您已验证设置 tempData 的第一个调用在进行比较的第二个调用之前返回并设置 tempData 的值?
  • 是的,在 firebug 上比较 tempData 和 tempData2 的值

标签: jquery json jqgrid


【解决方案1】:

您正在尝试比较两个不同的对象。尝试将它们转换为字符串并进行比较:

if(JSON.stringify(tempData)==JSON.stringify(tempData2))

【讨论】:

  • 是的,我昨天就这样做了,我懒得回答了,哈哈
猜你喜欢
  • 1970-01-01
  • 2018-07-31
  • 1970-01-01
  • 2014-05-25
  • 2018-03-23
  • 2013-05-25
  • 2021-11-29
  • 2015-06-19
  • 1970-01-01
相关资源
最近更新 更多