全局ajax的使用
一、ajax介绍
详细介绍请看:http://www.runoob.com/ajax/ajax-tutorial.html
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
AJAX 不是新的编程语言,而是一种使用现有标准的新方法。
AJAX 最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。
AJAX 不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。
二、 ajax()介绍
详细介绍请看:http://www.w3school.com.cn/jquery/ajax_ajax.asp
ajax() 方法通过 HTTP 请求加载远程数据。
该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不常用的选项,以获得更多的灵活性。
最简单的情况下,$.ajax() 可以不带任何参数直接使用。
注意:所有的选项都可以通过 $.ajaxSetup() 函数来全局设置。
三、全局ajax的使用
详细介绍请看:jquery全局ajax参数详细执行分析-$.ajax竟然可以这样用!
详细介绍请看:Jquery $.ajax请求详解及ajax全局变量分析
jquery提供了一个列表 全局Ajax事件处理程序。 这些全局事件是发起每一个AJAX请求时产生。如果全局变量jQuery.ajaxSetup()是true。
默认情况下它是true。
.ajaxStart——注册一个处理程序被称为第一个AJAX请求时开始;每个页面中所有的ajax请求只发生一次。
.ajaxSend——附加一个函数执行之前发送一个AJAX请求;每次发起ajax请求就触发一次。
.ajaxError——注册一个处理程序被称为AJAX请求完成时一个错误;
.ajaxSuccess——附加一个函数执行时一个AJAX请求成功完成;
.ajaxComplete——注册一个处理程序被称为AJAX请求完成;每次发起一次ajaxsend请求就对应一次complete。
.ajaxStop——注册一个处理程序被称为当所有AJAX请求已经完成了。
每当一个Ajax请求即将发送,jQuery检查是否有任何其他响应过程中的Ajax请求。如果没有检查到,jQuery就会触发ajaxStart事件。
我们通过这些全局变量就能够保存每次ajax请求,并在每个ajax请求处理完成后,清理这个缓存。
使用例子:
// 添加ajax全局事件处理。
$(document).ajaxStart(onStart)
.ajaxSend(onSend)
.ajaxSuccess(onSuccess)
.ajaxError(onError)
.ajaxComplete(onComplete)
.ajaxStop(onStop); /**
* 第一个ajax请求完成开始时,执行此方法(2)--这是一个 Ajax 事件
* @param event 请求的事件
*/
function onStart(event) {
debugger
console.log("onStart");
}
/**
* ajax请求发送之前,执行此方法(3)
* @param event 请求的事件
*/
function onSend(event) {
debugger
console.log("onSend");
}
/**
* ajax请求成功,执行成功方法后,执行此方法(5)
* @param event 请求的事件
* @param xhr XMLHttpRequest
* @param settings 操作
*/
function onSuccess(event, xhr, settings) {
debugger
console.log(xhr.responseJSON)
console.log("onSuccess"+event+xhr+settings);
// window.onload("www.baidu.com")
}
/**
* ajax请求失败,执行失败方法后,执行此方法(5)--这是一个 Ajax 事件
* @param event
* @param xhr
* @param settings
*/
function onError(event, xhr, settings) {
debugger
console.log("onError"+event+xhr+settings);
}
/**
* ajax请求完成时,执行此方法(6)--这是一个 Ajax 事件
* @param event
* @param xhr
* @param settings
*/
function onComplete(event, xhr, settings) {
debugger
console.log("onComplete"+event+xhr+settings);
}
/**
* 所有的ajax请求完成时,执行此方法(7)--这是一个 Ajax 事件
* @param event
*/
function onStop(event) {
debugger
console.log("onStop"+event);
} $("button").click(function(){
debugger
$.ajax({
url: 'http://localhost:8090/csyadminService/exampleAjax',
type: 'POST',
data: {
name: 'test1',
sex: 'test2'
},
success: function (result) {// (4)
debugger
if(result.code != "666") {
return;
}
alert("ce")
console.log("success:"+result); },
error:function (result) { // (4)
console.log("error:"+result);
}
}); // (1)
});
全局ajax的js代码
<button>点我</button>
全局ajax的html代码
全局ajax的使用的更多相关文章
- 全局ajax事件
必须当页面上存在任何ajax请求的时候都将触发这些特定的全局ajax处理函数. 如果在jQuery.ajaxSetup()中的global属性设置成true,那么这些全局函数将会在每一个ajax上面都 ...
- jQuery全局Ajax事件处理器
1. .ajaxComplete( handler(event, XMLHttpRequest, ajaxOptions) ) 每当一个Ajax请求完成,jQuery就会触发ajaxComplete ...
- 全局Ajax加载时呈现Loading
全局设置: 1 2 3 4 5 $(document).bind("ajaxSend", function () { $("#loading_messag ...
- js拦截全局ajax请求
你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...
- 部署全局ajax处理
$.ajaxSetup({ beforeSend:function(){ $('.loading').show(); }, complete:function(){ $('.loading').fad ...
- 全局 Ajax 事件处理器
jQuery中将Ajax请求和响应分成了若干(5)个阶段 并且允许开发者在Ajax请求和响应的不同阶处理不同的逻辑, 这些方法用于注册事件处理器,用来处理页面上的任何 Ajax 请求,当某些事件触发后 ...
- js 拦截全局 ajax 请求
你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...
- jQuery / zepto ajax 全局默认设置
jQuery / zepto 的 $.ajax 方法需要配置很多选项, 有些是很常用的每个 ajax 请求都要用到的, 可以全局设置, 避免每次都写. 注意: 此处用的 jQuery 版本是 1.8. ...
- [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...
随机推荐
- MongoDB 学习(三)MongoDB 和 Spring 整合(Maven)
一.MongoDB 和 Spring 整合(Maven) 1.相关 jar 包准备 2.用 Maven 创建项目,pom.xml 文件 <project xmlns="http://m ...
- git记住提交密码的技巧
修改.git包里面的config文件,添加 [credential] helper = store
- Service的启动流程源码跟踪
前言: 当我们在一个Activity里面startService的时候,具体的执行逻辑是怎么样的?需要我们一步步根据源码阅读. 在阅读源码的时候,要关注思路,不要陷在具体的实现细节中,一步步整理代码的 ...
- Thrift笔记(七)--回调源码分析
网上找了写代码,东拼西凑写了个demo.开始server用的是阻塞io,不行,换成非阻塞的io就可以.这里可能需要注意下 thrift文件 namespace java com.gxf.thrift ...
- 简单的java使用SAX解析xml
1.新建一个SAXTest类,继承import org.xml.sax.helpers.DefaultHandler类 package com.qiao.SrpingSource; import or ...
- Django 模型层之单表操作
一.单表操作之创建表 在app的models.py文件中创建模型: from django.db import models class Book(models.Model): id = models ...
- 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法
解决办法是Form类中定义一个静态的ActiveX对象,在formload中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可. public static AxClientDri ...
- for 循环的时候 append() 是移动不是复制
使用for 的时候,append() 不是复制,而是移动,只有最后一个元素才真正的append() 到了 解决办法: 1. 使用字符串: 2.使用clone();
- 老生常谈:++a与a--区别
a++的作用是先对a进行操作再++:a--则相反. 如: int a = 1;int b = a++; //此时先运算b=a,再a++,故b=1,a=2int c = --a; //此时先--a,再运 ...
- C++类继承--基类析构函数加上Virtual
下面的内容要说明两个问题:1. 基类的析构函数为什么要加上Virtual--防止内存泄露 1. 基类虚构函数无virtual,派生类无法析构,会导致内存泄露 #include <stdio.h& ...