如何获取Ajax刷新页面中的变量值?

发布于 2022-09-02 11:43:48 字数 960 浏览 12 评论 0

做一个多条件筛选页面,运行的时候,偶有早发的查询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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情仇皆在手 2022-09-09 11:43:48

我在模板页里嵌入了一个Hidden域,但这个只有在第一次请求并填充页面时才会有值,那么判断空值或小于当前请求的时间戳才能写入就行,不用获取当前回传的 backtimestamp 。目前还没碰到写不进去的,所以等等看。

双手揣兜 2022-09-09 11:43:48

之前回答有欠考虑,已删。
思路应该可以 可以通过模拟网络环境做测试 或者通过不同的参数在后台响应请求的时候设置不同的延迟 看后面的请求能不能正常渲染并且不会被前一个被延迟的请求覆盖掉

寂寞美少年 2022-09-09 11:43:48

等A请求成功了在去请求B不行吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文