代码:
function CallSyncAjax(url, resid) {
try { parent.TimeOut(); } catch (ex) { }
var xmlhttp = new GetXmlHttp();
if (xmlhttp) {
xmlhttp.onreadystatechange = function () {
if (xmlhttp && xmlhttp.readyState == 4) {//we got something back..
if (xmlhttp.status == 200) {
var StrResponse;
StrResponse = xmlhttp.responseText.split('@@@');
if (xmlhttp.responseText != "") {
if (StrResponse[0] != "") {
if (resid == "1000") {
//this function exist in ContactsList.apsx
AddGroupToMenu(StrResponse[0]);
}
}
}
}
}
}
xmlhttp.open("post", url, true);
xmlhttp.send();
}
}
我从点击按钮的页面调用此函数,如下所示:
CallSyncAjax("?ExtFlag=saveGroup&AjaxFalg=SpecialRequest&groupName=" + TxtGroupName.GetText() + "&groupDesc=" + TxtgroupDesc.GetText(), "1000");
我的问题是我可以缓存结果,所以当我再次点击按钮时,不会调用ajax调用,只是从缓存中读取结果吗?
答案 0 :(得分:0)
您可以创建一个对象数组
{
url: "",
result: ""
}
(基本上是一个键/值字典),每次调用CallSyncAjax函数时,检查是否已经调用了URL,如果是,则从数组中检索相应的结果。否则进行AJAX调用并在数组中存储新的url / result对。