【发布时间】: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 的值