在一个非常自定义的电子商务网站上工作。这些页面是通过ajax加载的,我已经将另一个AJAX请求附加到$.ajaxSuccess()
。此请求用于从我的PHP脚本获取响应(然后将响应加载到商店列表中)。
$(document).ajaxSuccess(function() {
var thisHash = location.hash,
hashArr = thisHash.split("/"),
folder = hashArr[1],
file = hashArr[2];
retrieveMarkup(folder,file);
})
然后retrieveMarkup()
向我的PHP脚本发出get请求,然后将响应加载到$("#store")
。
function retrieveMarkup(mainCat, subCat) {
if (!subCat || subCat == "all"){
var urlOb = $.param({ "cat": mainCat});
}
else {
urlOb = $.param({ "cat": mainCat, "subcat" : subCat});
}
$.ajax({
url: backendBase+"markup&"+urlOb,
global: false,
dataType: "text",
cache: true,
success: function(d,s,x) {
writeRes(x.responseText);
}
})
}
我将global
函数中的retrieveMarkup()
设置为false,以便没有无限循环。
这是我遇到问题的地方:
第一次加载网站时,一切都按预期工作。我导航到Beverages -> All
。该脚本按预期工作,并将响应加载到存储中。然后单击Snacks -> All
后,脚本仍然有效。但是,在尝试导航回Beverages -> All
后,脚本不会将响应插入到商店项目中。但是我可以导航回Snacks -> All
并且脚本按预期工作。
注意:您必须先加载Beverages -> All
才能使其正常工作。
这有点难以解释,所以这里是指向网站http://grantcr.com/kmm/site/#!/home
的链接这是我在这个网站上的第一篇文章。所以请对我很轻松:))