如下,想要得到回调函数中的json[i],但是总是提示null?

var id=getJSON("0001");
function getJSON(id){
var jsonID=null;
$.ajax({
type:"get",
url:"mockData/goods.json",
dataType:"json",
success:function(json){
for(var i in json){
if(json[i]["id"]==id){
jsonID=json[i];
break;
}
}
}
});
return jsonID;
}

繁星淼淼
浏览 137回答 1
1回答

慕妹3146593

ajax默认是异步的,也就是说你的ajax请求还没返回数据时,就已经执行了 return jsonID,而你的jsonID定义成了null,所以该函数的返回值为 null建议:改为同步模式,async: false
打开App,查看更多内容
随时随地看视频慕课网APP