Ajax 进阶

本文详细探讨了Ajax的进阶应用,包括加载请求的处理、错误管理、全局事件监听、JSON与JSONP的数据交换,以及jqXHR对象的使用,旨在帮助前端开发者提升Ajax技能。
摘要由CSDN通过智能技术生成
在 Ajax 课程中,我们了解了最基本的异步处理方式。本章,我们将了解一下 Ajax
一些全局请求事件、跨域处理和其他一些问题。

一.加载请求

Ajax 异步发送请求时,遇到网速较慢的情况,就会出现请求时间较长的问题。而超
过一定时间的请求,用户就会变得不再耐烦而关闭页面。而如果在请求期间能给用户一些提
示,比如:正在努力加载中 ... ,那么相同的请求时间会让用户体验更加的好一些。
jQuery 提供了两个全局事件, .ajaxStart() .ajaxStop() 。这两个全局事件,只要用户触发
Ajax ,请求开始时(未完成其他请求)激活 .ajaxStart() ,请求结束时(所有请求都结束了)
激活 .ajaxStop()
//请求加载提示的显示和隐藏
$('.loading').ajaxStart(function () {
$(this).show();
}).ajaxStop(function () {
$(this).hide();
});

注意:以上代码在 jQuery1.8 及以后的版本不在有效,需要使用 jquery-migrate 向下兼容
才能运行。新版本中,必须绑定在 document 元素上。
$(document).ajaxStart(function () {
$('.loading').show();
}).ajaxStop(function () {
$('.loading').hide();
});

//如果请求时间太长,可以设置超时
$.ajax({
timeout : 500
});

//如果某个 ajax 不想触发全局事件,可以设置取消
$.ajax({
global : false
});

二.错误处理

Ajax 异步提交时,不可能所有情况都是成功完成的,也有因为代码异步文件错误、网
络错误导致提交失败的。这时,我们应该把错误报告出来,提醒用户重新提交或提示开发者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值