0

ajax/jsonを使用してデータをロードするjqgridがあり、15秒ごとに実行してデータが変更されたかどうかを確認する関数があります.jqgridからデータをアップロードする必要がある場合、問題は私の2つの呼び出しは同じ結果を返しますが、それらを比較すると、それらが異なることがわかります.jqgridが_search、page、orderなどのパラメータを追加するため、データにない唯一の違いは呼び出しのパラメータにありますが、結果に影響はありません。

グリッドが呼び出しを行うと、グローバル変数 (グリッド コードの一部) にデータを保存します。

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

2 つの異なるオブジェクトを比較しようとしています。それらを文字列に変換して比較してみてください:

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