做一个多条件筛选页面,运行的时候,偶有早发的查询A请求比晚发请求B运行的时间还长,导致B已经更新了页面,A又把页面刷了,导致筛选内容与条件不匹配。所以就想偷懒做一个时间戳比较,老的请求就丢弃,当然,我也不知道这个思路对不对......代码如下:
$(document).ready(function() {
var timeStamp;
$(".searchElement").change(function() {
timeStamp=cxDate('DDhhmmssppp');
var url = "/Admin/CustomerOrder/list_partial/";
$.get(url, {
customerID: $("#customer").attr('real-value'),
productID: $("#product").attr('real-value'),
status: $("#status").val(),
fromTime: $("#fromTime").val(),
toTime: $("#toTime").val(),
timeStamp:timeStamp
}, function(particalPage) {
//这里
if (backtimestamp==timeStamp)
$("#contentBox").html(particalPage);
});
});
});
res.render('admin/customerorder_list_partial', {
rs: recordset[0],
backtimestamp: req.query.timeStamp
});
在后台render后,怎么在ajax代码块中取到变量backtimestamp的值?
我在模板页里嵌入了一个Hidden域,但这个只有在第一次请求并填充页面时才会有值,那么判断空值或小于当前请求的时间戳才能写入就行,不用获取当前回传的 backtimestamp 。目前还没碰到写不进去的,所以等等看。