0

AJAXを介してXMLファイルをロードするこのコードがあります:

$("#list").on("click", "li", function (event) {
    $.ajax({
        url: 'test.xml',
        type: "get",
        context: this,
        success: function (data) {
            alert("success");
        },
        error: function () {
            alert("failure");
        }
    });
})

問題は、あまり効率的ではないこのコードを使用するクリック可能な要素の長いリストがあることです。AJAX 関数を一度呼び出してから、リストの他の項目に対して生成されたデータを使用する方法はありますか?

4

1 に答える 1

1

戻り値をどこかに保存するだけです

$("#list").on("click", "li", function (event) {
    var data = $("#list").data('test');
    if (data){
        //use data
    }
    else{
        $.ajax({
            url: 'test.xml',
            type: "get",
            context: this,
            success: function (data) {
                $("#list").data('test', data);
                // use data
                alert("success");
            },
            error: function () {
                alert("failure");
            }
        });
    }
})
于 2013-04-28T00:45:16.187 に答える