我不想像这样处理取得的json数据,有时候在success里要写较多代码
$.ajax({
type: "get",
dataType: "json",
url: 'skin/data/winner.json',
success: function (data) {
var jsonData = data;
var html = buildHtml(jsonData);
$("ul.infoList").html(html);
$(".topLoop").slide({
mainCell: ".bd ul",
effect: "topMarquee",
vis: 6,
interTime: 40,
autoPlay: true
});
}
});
我想把$.ajax取得的json数据在外部获取调用,打印出结果是undefined。有没有办法可以在外部访问到ajax取得的data值
$.ajax({
type: "get",
dataType: "json",
url: 'skin/data/winner.json',
success: function (data) {
var jsonData = data;
console.log('data--'+jsonData);
return jsonData;
}
});
console.log(jsonData); //undefined
var html = buildHtml(jsonData);
$("ul.infoList").html(html);
$(".topLoop").slide({
mainCell: ".bd ul",
effect: "topMarquee",
vis: 6,
interTime: 40,
autoPlay: true
});
您好,由于$.ajax函数的async属性默认为true,即异步请求,并且您声明的jsonData是局部变量,所以jsonData输出结果为undefined。如果您想外部访问到ajax响应值,有两种方法:
方法一:指定一个回调函数,示例如下:
方法二:改成同步请求,示例如下:
大概是这个意思?
(手机码的排版不太好抱歉~)