Javascript 如何在其他地方使用$.ajax成功数据?

Javascript 如何在其他地方使用$.ajax成功数据?,javascript,jquery,ajax,Javascript,Jquery,Ajax,可能重复: 如何在其他地方使用$.ajax成功数据?(在$.ajax函数之外) 这个概念类似于“全局变量”。如果您只是想在success回调之外使用响应内容,那么您应该在方法之外声明变量,如下所示: var resp2; $.ajax({ url:"list.php", dataType: "json", success: function(resp){ for(var i=0;i<resp.length;i++){

可能重复:

如何在其他地方使用
$.ajax
成功数据?(在$.ajax函数之外)


这个概念类似于“全局变量”。

如果您只是想在
success
回调之外使用响应内容,那么您应该在方法之外声明变量,如下所示:

var resp2;
$.ajax({
    url:"list.php",
    dataType: "json",
    success: function(resp){

        for(var i=0;i<resp.length;i++){

            $('#goods_list').append(
            "<h3>" + resp[i]["name"] + "</h3>"
            +
            "<div>Price: NT$" + resp[i]["price"] + "<br />"
            +
            resp[i]["description"]
            +
            "<hr /> <a href=# alt='"+ resp[i]["sn"]+ "' class='add_to_cart'>Add</a> | More"
            +"</div>"
            );

        }

        var resp2 = resp;
    }
});
var-resp2;
$.ajax({
url:“list.php”,
数据类型:“json”,
成功:功能(resp){

对于(var i=0;iYou不能,因为请求是异步的(除非将其设置为同步,这会阻止脚本)。您必须将该行移到成功处理程序中。我不确定您要使用什么模式,但您也可以在函数中返回ajax调用,然后在任何位置使用
func().done(…)
ReferenceError: resp2 is not defined
$('body').append(resp2[0]["price"]);
var resp2;
$.ajax({
    url:"list.php",
    dataType: "json",
    success: function(resp){

        for(var i=0;i<resp.length;i++){

            $('#goods_list').append(
            "<h3>" + resp[i]["name"] + "</h3>"
            +
            "<div>Price: NT$" + resp[i]["price"] + "<br />"
            +
            resp[i]["description"]
            +
            "<hr /> <a href=# alt='"+ resp[i]["sn"]+ "' class='add_to_cart'>Add</a> | More"
            +"</div>"
            );

        }

        var resp2 = resp;
    }
});