1 回答
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
});
添加回答
举报