jQuery中load()方法还是比较方便的,可以对div等容器动态加载页面或其它html元素,通常情况我们是这样使用的:
$("#div").load(url);这种方式是没有进行任何异常处理的,如果后端没有任何异常,前端页面是可以正常加载的,
但后端发生异常时,前端需要加载的元素就会出现个空白,且没有任何提示信息,这样的界面很不友好的,
下面看一下load方法的参数
定义和用法
load() 方法通过 AJAX 请求从服务器加载数据,并把返回的数据放置到指定的元素中。
注释:还存在一个名为load 的 jQuery 事件 方法。调用哪个,取决于参数。
语法
load(url,data,function(response,status,xhr))
参数 |
描述 |
url |
规定要将请求发送到哪个 URL。 |
data |
可选。规定连同请求发送到服务器的数据。 |
function(response,status,xhr) |
可选。规定当请求完成时运行的函数。 额外的参数:
- response - 包含来自请求的结果数据
- status - 包含请求的状态("success", "notmodified", "error", "timeout" 或 "parsererror")
- xhr - 包含 XMLHttpRequest 对象
|
因此,可以根据回调方法中的参数xhr.status状态判断请求状态:200,404,或500等,在回调方法中加载对应的异常页面或给出对应提示信息,
改进后的代码
load(url,function(response,status,xhr){ if(xhr.status == 404){ $(this).load("404.html"); //或者 $(this).html(errorText); }
if(xhr.status == 500){ $(this).load("500.html"); //或者 $(this).html(errorText);
} ......
});
希望对初学者有所帮助
|