【问题标题】:Remove jQuery AJAX timestamp from query string从查询字符串中删除 jQuery AJAX 时间戳
【发布时间】:2014-01-21 14:24:08
【问题描述】:

在处理字符串 URL 时如何删除 jQuery AJAX 缓存防止器 (_=3452345235)?

我正在编写一个全局 AJAX 失败处理程序,为此我需要知道哪个 URL 失败,但是每次我检查失败的请求的 URL 时,jQuery 缓存查询字符串意味着我所有的 URL 都不同,所以我需要删除this 在做更多工作之前从字符串中提取

所以如果我的网址是(作为字符串,而不是window.location)是

/device/page/?page=2&_=23523452345

我只想删除要留下的时间戳

/device/page/?page=2

【问题讨论】:

  • 已编辑:来自参考:api.jquery.com/jquery.ajax,我认为设置 cache: true (嗯,默认情况下应该为 true)应该可以解决您的问题。
  • 我已经关闭了缓存,因为我想关闭缓存,我只想在我的代码中删除附加的 qs

标签: javascript jquery ajax query-string


【解决方案1】:

这应该适合你。

var url = '/device/page/?page=2&_=23523452345';

url = url.replace(/&?_=[0-9]*/, '');

问候。

更新

第一个工作在查询字符串的末尾和中间,但不在查询字符串的开头?_=212115211&page=2

此正则表达式适用于 _ 参数的任何位置。

url = url.replace(/&?_=[0-9]*/, '');

谢谢

【讨论】:

  • 非常感谢,我如何让它在开始时也能正常工作? url.replace(/_=[0-9]*/, ''); 就够了吗?
  • 使用第二个正则表达式url = url.replace(/&?_=[0-9]*/, '');
猜你喜欢
  • 2016-08-31
  • 2019-01-28
  • 1970-01-01
  • 2015-11-28
  • 1970-01-01
  • 1970-01-01
  • 2019-10-26
  • 2016-09-03
  • 2011-02-02
相关资源
最近更新 更多