Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用AJAX一次加载文件并多次使用其数据?_Ajax_Jquery_Xml Parsing - Fatal编程技术网

如何使用AJAX一次加载文件并多次使用其数据?

如何使用AJAX一次加载文件并多次使用其数据?,ajax,jquery,xml-parsing,Ajax,Jquery,Xml Parsing,我通过AJAX加载XML文件的代码如下: $("#list").on("click", "li", function (event) { $.ajax({ url: 'test.xml', type: "get", context: this, success: function (data) { alert("success"); }, error: function

我通过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函数一次,然后使用为列表中的其他项生成的数据?

只需将返回值保存在某个位置即可

$("#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");
            }
        });
    }
})

只需将数据存储在ajax调用之前声明的另一个var中……感谢此解决方案。请注意:我使用您给出的答案中的概念将AJAX调用与单击事件分开。