0

我有一个使用 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)一直都是假的

任何的想法?

4

1 回答 1

0

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

if(JSON.stringify(tempData)==JSON.stringify(tempData2))
于 2013-09-18T11:56:24.593 回答