0

非常にカスタマイズされた e コマース サイトに取り組んでいます。ページは 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);
        }
    })

}

関数内の を falseに設定してglobalretrieveMarkup()無限ループが発生しないようにします。

ここで私は問題に遭遇しています:

初めてサイトをロードすると、すべてが期待どおりに機能します。に移動しBeverages -> Allます。スクリプトは期待どおりに機能し、応答をストアに読み込みます。その後、 をクリックしてSnacks -> Allも、スクリプトは引き続き機能します。ただし、スクリプトに戻ろうとしてBeverages -> Allも、ストア アイテムに応答が挿入されません。しかし、戻ることができSnacks -> All、スクリプトは期待どおりに機能します。

注:機能させるにはBeverages -> All、最初にロードする必要があります。

これは説明が少し難しいので、サイトへのリンクを次に示しますhttp://grantcr.com/kmm/site/#!/home

これは、このサイトでの私の最初の投稿です。だから私に気楽にしてください:)

4

0 に答える 0