【问题标题】:jQuery ajax add updated variable in data on every/any ajax requestjQuery ajax 在每个/任何 ajax 请求的数据中添加更新的变量
【发布时间】:2015-11-27 14:37:57
【问题描述】:

所以我有下面的代码将附加数据添加到我的应用程序发出的任何 ajax 请求中,但问题是它仅在页面加载时第一次工作,因为应用程序是基于单页 ajax 的应用程序,我想在 ajaxSetup 中使用更新后的变量值来确保所有事情都按预期工作,但不知何故它采用了旧值,我知道 ajaxSetup 在页面加载时为 ajax 调用设置数据。这是我的 ajaxSetup 的样子:

var token = 'b62e0352ae559ae1d1e98f0d26604630'; // this variable updates every minute.
setInterval({
 var token = $('meta[name=token]').attr('content'); // the updates the token variable every 1 minute
},1000*60*1);
$.ajaxSetup({
    data: {
        token: token
    }
});

因为有预定义的令牌,每分钟它都会更新,我只想选择元标记的更新值,然后将它用于页面上的任何 ajax 请求。 如果有其他方法或更正此代码将非常有帮助。

【问题讨论】:

  • 为什么不在需要的时候请求令牌?喜欢data:{ token:function(){ return $('meta[name=token]').attr('content'); }}
  • @sofl data 不仅是 token ,它里面还有很多其他的键。所以需要更新多个 ajax 请求以及令牌值
  • 您仍然可以添加更多键。 data:{ token:function(){...}, key1:'a',.....,我看这里没有问题。
  • @sof 将其发布为答案,我会接受。你的方法奏效了:)
  • @sofl 把它作为答案发布,我会接受你的答案

标签: javascript php jquery ajax


【解决方案1】:

在需要时请求令牌,以便每次都是最新的。

$.ajaxSetup({
    data: {
        token: function(){
            return $('meta[name=token]').attr('content');
        }
    }
});

【讨论】:

    猜你喜欢
    • 2015-04-16
    • 2019-01-10
    • 2021-06-27
    • 1970-01-01
    • 2012-04-22
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    相关资源
    最近更新 更多