在我的网络应用程序上发送其他 AJAX 调用之前,我需要检查条件并运行 AJAX 调用。
我正在考虑将此 AJAX 调用放在ajaxSetup上的beforeSend中,并使用 async: false (以防止我的初始调用在此调用完成之前运行)。
像这样的东西:
//I set an event that fires:
$.ajax({
type: "GET",
url: my_url,
beforeSend: function() {
//do something, like show a spinner loader gif
}
});
//Somehwere in my app I also have:
$.ajaxSetup({
beforeSend: function() {
if(x===1){
$.ajax({
type: "GET",
url: my_url/fetch_something,
async:false
});
}
}
});
我在第一个 AJAX 调用中的 beforeSend 会超出 ajaxSetup 中的调用吗?有没有办法更好地解决这个问题?
更好地了解我的应用程序:
我通过应用程序进行了很多 Ajax 调用,每次调用都会在标头上发送一个安全哈希以验证用户,这些哈希也有时间限制(哈希和时间限制都保存在 localStorage 中)
我想要从 ajax 设置(以及其中的条件)中检查时间限制 - 如果 time_limit < current_time 比运行 ajax 调用来刷新用户哈希。
这不是针对 1 或 2 次调用的练习,我的应用程序上确实有 20 多个不断增长的 Ajax 调用,这些调用使用了用户哈希,并且在每一个调用中都进行此检查是非常不切实际的。