永发信息网

jquery getJSON方法返回值

答案:2  悬赏:30  手机版
解决时间 2021-01-29 07:37
  • 提问者网友:半生酒醒
  • 2021-01-28 09:23
var medias = new Array();
$.getJSON("media.json", function(data) {
medias = data.slice(0);
alert(medias.length);
});
alert(medias.length);
getjson方法内alert值正常,方法外数组就被清空......有什么方法可以将getjson的返回值保存下来?为什么方法外定义的变量,赋值不起作用?
最佳答案
  • 五星知识达人网友:woshuo
  • 2021-01-28 10:25
jquery 的getJson也是ajax请求,ajax请求默认是异步请求,就是不需要等数据返回,就会执行后面的数据。

所以,你外面的变量赋值,还没有等请求值返回,就已经执行了。
你只需要在getJSON请求之前,设置同步请求就行了:$.ajaxSettings.async = false;
全部回答
  • 1楼网友:神的生死簿
  • 2021-01-28 11:09
$(function() { $.getjson("test.js", function(data) { alert(data.root[2].value); }); });
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯