$.getJSON是个好东西,其亮点在于可以跨域调用数据和解 析数据简单,这让很多的jQueryer乐此不彼.
好了废话不多说,进入正文:
1.设置加载图片<div id=”loading”><img src=”m/loading.gif”/></div>
2.调用数据前
3.载入数据后
$.getJSON(url, function(msg){
$(“#loading”).hide();
…..
})
原理:
在载入数据前加个标记,我这里用的是一个loading图片,其实也可以用变量来代替,然后执行$.getJSON,这里分两种情况:一种是加载成 功,正常执行$.getJSON里面的代码;第二个是加载失败,不返回任何信息。所以,我把设置loading图片隐藏的代码放在加载成功时执行。当加载 失败时,loading图片是不会被隐藏的(废话~)。后面的我们就可以做主了,任意设置一个超时时间,用settimeout来检查有没有执行隐藏 loading的代码,具体方式是:图片是否隐藏。若图片没有隐藏,OK,我们的目的达到了,可以给用户一个提示,比如重试啊之类的!
后话:>
$.getJSON很傻很天真,所以它忽略了错误,当你用它来获取一个404页面的时候,你会发现它不会返回信息(
其实经过测试发现,有返回值的
var url="";
var x=$.getJSON(url, function(msg){
alert(msg);
})
alert(x.readyState)
待测试…
),
setTimeout(function(){if($(“#loading”).is(“:visible”)){$(“#loading”).empty().append(“<p>”+timeoutStr+”<br/><a href=’javascript:void(0)’ onclick=’getZhuiList()’><img src=’m/refresh.png’/>刷新</a></p>”);return false;}},timeout)
Tags: $.getJSON
Leave a Reply