我的 Ajax 调用遇到了一些问题。我正在努力提高我网站的性能,为此我想做的一件事就是只触发一次 ajax,如果他们之前被解雇过,而不是解雇他们。
我的情景之一。我有 2 个选择下拉菜单 - 国家和地区。当一个国家被改变时,.change 被触发,它触发一个 ajax 来获取所选国家的区域。现在,例如,如果我选择国家 India,Ajax 将被触发,并将其更改为 Iceland,ajax 将被触发。现在,如果我将我的国家改回印度,则不应解雇 Ajax,因为我已经从服务器获取数据。
代码
$("#select_list_id").change(function(){
var url = 'ajax.php?val=' + this.value;
$.ajax({
url: url,
success: function(json){
for(i=0; i<jsonData.length;i++) {
$("#select_list_2_id").append(new Option(jsonData[i].title,jsonData[i].id));
}
}
});
})
我的方法可以是存储返回的 json,并比较更改时的 countryID,如果该值已经存在,则返回 json,否则点击 Ajax。但是我的项目中有近 100 个 ajax 调用,这个过程可能需要一些美好的时间。
如果有人可以帮助我,如何概括这段代码。
除此之外,在搜索时我发现这也可以通过 jquery once 插件来完成,如果是这样,有人可以提供一些帮助。
更新 - 谢谢大家,这确实帮助了我,现在情况很好:) 只是另一个小查询,那么 jquery once 插件的用途是什么?它用于相同的东西吗?