getJSON为什么不能赋值出来?
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<div>history.json中的代码如下:</div>
<div>
{"folder":"cms","page":"index_article.htm","abs_class_array_merge":["li_h24","li","li_66","li_h23","li_62","alpha20a","alpha_h30","w240","w90","w60","w200","w290","w100","w310","w3","w190","h70","h30","h25","h24","h120","h23","mgb5","mgb10","pdl5","pdr5","pdl10","pdt5","pdr10","pdt10","pd5"]}
</div><script type="text/javascript">
var abcd=[];
$.getJSON("history.json",function(o){
if(o.abs_class_array_merge){
abcd=o.abs_class_array_merge;
}
alert(abcd); //getJSON 内部已经赋值给abcd,可以alert出数据来
});
// ps:怎么暂停5秒再执行下面的语句?
alert(abcd); // 外部再alert 还是空白。
</script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<div>history.json中的代码如下:</div>
<div>
{"folder":"cms","page":"index_article.htm","abs_class_array_merge":["li_h24","li","li_66","li_h23","li_62","alpha20a","alpha_h30","w240","w90","w60","w200","w290","w100","w310","w3","w190","h70","h30","h25","h24","h120","h23","mgb5","mgb10","pdl5","pdr5","pdl10","pdt5","pdr10","pdt10","pd5"]}
</div><script type="text/javascript">
var abcd=[];
$.getJSON("history.json",function(o){
if(o.abs_class_array_merge){
abcd=o.abs_class_array_merge;
}
alert(abcd); //getJSON 内部已经赋值给abcd,可以alert出数据来
});
// ps:怎么暂停5秒再执行下面的语句?
alert(abcd); // 外部再alert 还是空白。
</script>
if(o.abs_class_array_merge){
abcd=o.abs_class_array_merge;
}
alert(abcd); //getJSON 内部已经赋值给abcd,可以alert出数据来
});”,执行到这个函数可能需要点时间
但外部alert()或在这段js加载完成后立即执行,所以应该先看到外部的alert出一个未赋值的数组,即空白的数字,然后才能看到一个有数据的alert 即回调函数中的alert
这里存在一个时间差对吧?而且无法确定时间差是多少,这由服务器、网络响应时间决定。所以,使用ajax时,如果要看请求结果,我们往往需要的是在回调函数中去做处理 即你所写的在getJSON 中的 funcion(o)。
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<div>history.json中的代码如下:</div>
<div>
{"folder":"cms","page":"index_article.htm","abs_class_array_merge":["li_h24","li","li_66","li_h23","li_62","alpha20a","alpha_h30","w240","w90","w60","w200","w290","w100","w310","w3","w190","h70","h30","h25","h24","h120","h23","mgb5","mgb10","pdl5","pdr5","pdl10","pdt5","pdr10","pdt10","pd5"]}
</div><script type="text/javascript">
var abcd=[];
//设置成同步
$.ajaxSetup({ async: false});
$.getJSON("history.json",function(o){
if(o.abs_class_array_merge){
abcd=o.abs_class_array_merge;
}
alert(abcd); //getJSON 内部已经赋值给abcd,可以alert出数据来
});
// ps:怎么暂停5秒再执行下面的语句?
alert(abcd); // 外部再alert 还是空白。
</script>
getjson为什么无法执行回调函数?
return Json(modellist.ToList(), JsonRequestBehavior.AllowGet);
运行效果有个好怪的问题,IE有问题(不显示),FireFor没问题(OK).
原因:千万要记得以这个结束</select>,IE不认别<select/>