js访问ajax获取的json数据

我不想像这样处理取得的json数据,有时候在success里要写较多代码

https://img.mukewang.com/5c0733d30001709d04120355.jpg

我想把$.ajax取得的json数据在外部获取调用,打印出结果是undefined。有没有办法可以在外部访问到ajax取得的data值


https://img.mukewang.com/5c0733e10001a85504370455.jpg

https://img1.mukewang.com/5c0733f00001600e13450148.jpg

慕慕森
浏览 802回答 1
1回答

MYYA

您好,由于$.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});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript