为了账号安全,请及时绑定邮箱和手机立即绑定

js访问ajax获取的json数据

js访问ajax获取的json数据

慕慕森 2018-11-14 17:14:04
我不想像这样处理取得的json数据,有时候在success里要写较多代码我想把$.ajax取得的json数据在外部获取调用,打印出结果是undefined。有没有办法可以在外部访问到ajax取得的data值
查看完整描述

1 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

您好,由于$.ajax函数的async属性默认为true,即异步请求,并且您声明的jsonData是局部变量,所以jsonData输出结果为undefined。如果您想外部访问到ajax响应值,有两种方法:

方法一:指定一个回调函数,示例如下:

$.ajax({

    type: "get",

    dataType: "json",

    url: 'skin/data/winner.json',

    success: callBack

});

// 回调函数

function callBack(jsonData) {

    // 在这里做其他处理

    var html = buildHtml(jsonData);

    $("ul.infoList").html(html);

    $(".topLoop").slide({

        mainCell: ".bd ul",

        effect: "topMarquee",

        vis: 6,

        interTime: 40,

        autoPlay: true

    });

}

方法二:改成同步请求,示例如下:

var jsonData; // 全局变量

$.ajax({

    type: "get",

    dataType: "json",

    async: false,

    url: 'skin/data/winner.json',

    success: function (data) {

       jsonData = data;     

    }

});

console.log(jsonData);


var html = buildHtml(jsonData);

$("ul.infoList").html(html);

$(".topLoop").slide({

    mainCell: ".bd ul",

    effect: "topMarquee",

    vis: 6,

    interTime: 40,

    autoPlay: true

});


查看完整回答
反对 回复 2018-12-05
  • 1 回答
  • 0 关注
  • 801 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信