关于jQuery load()方法加载页面后台发生异常而前台页面加载失败且没有任何展示信息的问题处理

来源:互联网 发布:淘宝关键词重复有用吗 编辑:程序博客网 时间:2024/06/06 01:10

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);
  }
  
......

});

希望对初学者有所帮助

阅读全文
0 0
原创粉丝点击