0

在一个非常定制的电子商务网站上工作。这些页面是通过 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

这是我在这个网站上的第一篇文章。所以请对我放轻松:)

4

0 回答 0