jQuery $.ajaxSend()
语法:
$("#msg").ajaxSend(function(evt,request,settings){});
AJAX请求发送前执行函数。Ajax事件。
XMLHttpRequest对象和设置作为参数传递给回调函数
$("#msg").ajaxSend(function(evt,request,settings){})是全局事件,也就是说,
只要该页面定义了这个函数,那么,在每个ajax请求前都会执行该函数,这既与该函数前面的选择器#msg无关,
也与用$.get还是$.post请求无关。看下面例子:
<script type="text/javascript">
$(document).ready(function() { $("#msg").ajaxSend(function() {
alert("无论点击按钮1还是按钮2,都会触发我");
}); $("#btn1").click(function() {
$.post("test1", function() {
$("#msg").val("haha");
});
}); $("#btn2").click(function() {
$.get("test2", function() {
$("#msg").val("haha");
});
});
})
</script> <body>
<input type="text" id="msg" value="" /> <button id="btn1">
按钮1
</button>
<button id="btn2">
按钮2
</button>
</body>
上面只在一处定义了全局事件$("#msg").ajaxSend(function(){});
我们发现无论是单击id="btn1"执行$.post请求,还是单击id="btn2"执行$.get请求,都会触发全局事件.
需要注意的是上面定义$("#msg").ajaxSend(function(){});事件不在任何一下onClick事件中。
如果是定义在btn1或btn2中的任何一个click事件中,那么,该全局事件会增加执行次数,而不是覆盖。
$("#msg").ajaxStart(function(){ })与$("#msg")ajaxSend(function(){ })函数使用方法相大部分相同,也是全局事件.
区别是ajaxStart执行的顺序早于ajaxSend执行,另外,$("#msg").ajaxStart(function(){ })的执行函数无参数
而$("#msg").ajaxSend(function(evt, request, settings){ })的执行函数可以有参数。
这样,虽然该函数是全局函数,我们可以根据参数值的不同而让其对不同的触发产生不同的效果看如下的例子:
<script type="text/javascript">
$(document).ready(function() { $("#msg").ajaxSend(function(event, obj, options) {
if (options.url == "test1") {
alert("按钮1");
} else if (options.url == "test2") {
alert("按钮2");
}
}); $("#btn1").click(function() {
$.post("test1", function() {
$("#msg").val("haha");
});
}); $("#btn2").click(function() {
$.get("test2", function() {
$("#msg").val("haha");
});
});
})
</script>
<body>
<input type="text" id="msg" value="" /> <button id="btn1">
按钮1
</button>
<button id="btn2">
按钮2
</button>
</body>
第二个例子和第一个相比在ajaxSend函数中加入了参数并在函数里进行了判断。
对于$("#msg").ajaxSend(function(event, obj, options){})函数,注意对于形参来说,只要位置对应,用什么字符来表示是无所谓
event - 包含event对象具体的属性主要有很多,需要知道的一个最重要的属性是该对象包含{type:事件名}事件名就是ajax全局事件,
在此例中为ajaxSend,也就是说event对象有一个属性type其值为"ajaxSend"
obj - 包含XMLHttpRequest对象,主要是该对象的请求状态参数。
options - 包含AJAX请求中使用的选项,主要是当前请求的一些设置参数比如上面用到的url
如果想查看全部的属性,可用console.info()打印到控制台,如截图:
作者:itmyhome
jQuery $.ajaxSend()的更多相关文章
- 未压缩的jQuery
/*! * jQuery JavaScript Library v3.4.1 * https://jquery.com/ * * Includes Sizzle.js * https://sizzle ...
- 冰冻三尺非一日之寒--jQuery
第十七章 jQuery http://jquery.cuishifeng.cn/ 一.过滤选择器: 目的:处理更复杂的选择,是jQuery自定义的,不是CSS3中的选择器. ...
- 进击的Python【第十七章】:jQuery的基本应用
进击的Python[第十七章]:jQuery的基本应用
- 网页设计之jQuery
1.在html中引入css和jQuery <!DOCTYPE html> <html lang="en"> <head> <meta ch ...
- Python之Web前端Dom, jQuery
Python之Web前端: Dom jQuery ###Dom 一. 什么是Dom? 文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它 ...
- vue-cli webpack 引入jquery
首先在package.json里的dependencies加入"jquery" : "^2.2.3",然后install 在webpack.base.conf. ...
- Python 前端之JQuery
查找: 选择器 筛选器 操作: CSS 属性 文本 事件: 优化 扩展: Form表单验证 Ajax: 偷偷发请求 www.php100.com/manual/jquery http://blog.j ...
- 锋利的jQuery
今天总要找点东西学习,其实有很多东西要记录,慢慢写,今天看书吧,这几天把这本书看完,这里记一些要点 从头开始记吧 第一章 认识jQuery $就是jQuery的简写 $(function(){}) 就 ...
- 如何做到尽可能不使用庞大的jQuery
jQuery 是现在最流行的 JavaScript 工具库. 据统计,目前全世界 57.3% 的网站使用它.也就是说,10 个网站里面,有 6 个使用 jQuery.如果只考察使用工具库的网站,这个比 ...
- HTML中动态图片切换JQuery实现
相信很多同学都注意到了,各大新闻或者娱乐网站都含有动态图片切换,那个漂亮的感觉让刚刚学习html的人,都非常好奇和心动.那下面就让我们看一下到底如何实现动态图片切换呢?看一下百度贴吧的效果图吧~ // ...
随机推荐
- CSharp设计模式读书笔记(23):模板方法模式(学习难度:★★☆☆☆,使用频率:★★★☆☆)
模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中.模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模式角色与结构: 实现代码: using System; ...
- MAC使用小技巧(一)
[ Mac OS X 终端命令开启功能 ] 1.Lion下显示资源库方法一:显示在“终端”中输入下面的命令:chflags nohidden ~/Library/ 隐藏在“终端”中输入下面的命令:ch ...
- DevExpress的Web控件汉化方法
原文:DevExpress的Web控件汉化方法 项目中用到devexpress的web控件,机器没有安装devexpress控件,直接在项目中引用的dev的dll,项目运行时发现都是英文界面,所以解决 ...
- javascript继承—继承的实现原理(1)
原文:javascript继承-继承的实现原理(1) 打算针对js的继承写一系列文章,详细的分析js里继承原理,实现方式,各种继承方式的优缺点,以及最优继承方案,还有多继承的问题等…. 面向对象的编程 ...
- easyui dataBox 增加一天,减少一天
<table> <tr> <td><a href="javascript:void(0)" class="easyui-link ...
- .Net 2.0实例学习:WebBrowser页面与WinForm交互技巧
原文:.Net 2.0实例学习:WebBrowser页面与WinForm交互技巧 最近看到博客园入门教学文章比较流行,自己最近又偷懒比较多,没啥心得,不妨写一篇没啥深度的入门文章吧. 话说有了WebB ...
- SQL代理执行EXE可执行程序
原文:SQL代理执行EXE可执行程序 1.如果没有启用xp_cmdshell安全配置是不可以使用的-- 启用xp_cmdshellEXEC sp_configure 'xp_cmdshell', 1 ...
- IIS7 URL Rewrite 用法实例
原文:IIS7 URL Rewrite 用法实例 很友好的URL地址,使访问的人很容易记住.要求你的用户记住" http://www.contoso.com/article.aspx?id= ...
- Oracle 11g 客户端的安装和配置。
原文:Oracle 11g 客户端的安装和配置. 数据库和客户端在不同的机器之上. 在安装之前,在安装Oracle数据库的服务器上导航到下面的目录. 将listener.ora和tnsnames.or ...
- DOM2级事件对象、添加事件、阻止默认事件、阻止冒泡事件、获取事件对象目标的兼容处理
事件对象——兼容处理 /* * 功能: 事件对象兼容 * 参数: 表示常规浏览器的事件对象e */ function getEvent(e) { // 如果存在e存在,直接返回,否则返回window. ...