如何在ajax.done()中获取数据?

时间:2017-03-16 17:12:05

标签: jquery ajax

我使用ajax获取昵称attack_point数据

var nickname;
$.ajax({
            method:'GET',
            url:get_gamestart_api_url,

        }).done(function(data){

            $get_id.append("<li class='nickname'>" character.nickname+"</li>",
                "<li class='attack_point'>" character.status.attack_point+"</li>",
                    );
            nickname=character.nickname;
        });

console.log(nickname);

该脚本向我显示undefined

我认为console.log(nickname);已在done()之前执行。为什么会这样?

有人帮我谢谢你:)。

1 个答案:

答案 0 :(得分:0)

console.log(nickname);.done()之前执行,因为Ajax请求是异步的,这意味着它们是在后台执行的。这意味着程序不是按照您编写的顺序执行的。 如果您希望在Ajax请求完成后执行console.log(nickname);,则应将其包含在.done()函数