如何获取Ajax刷新页面中的变量值?
做一个多条件筛选页面,运行的时候,偶有早发的查询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的值?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我在模板页里嵌入了一个Hidden域,但这个只有在第一次请求并填充页面时才会有值,那么判断空值或小于当前请求的时间戳才能写入就行,不用获取当前回传的 backtimestamp 。目前还没碰到写不进去的,所以等等看。
之前回答有欠考虑,已删。
思路应该可以 可以通过模拟网络环境做测试 或者通过不同的参数在后台响应请求的时候设置不同的延迟 看后面的请求能不能正常渲染并且不会被前一个被延迟的请求覆盖掉
等A请求成功了在去请求B不行吗