我有一个使用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)
始终为假
任何想法?
答案 0 :(得分:0)
您正在尝试比较两个不同的对象。尝试将它们转换为字符串并进行比较:
if(JSON.stringify(tempData)==JSON.stringify(tempData2))