一、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的使用的更多相关文章

  1. 全局ajax事件

    必须当页面上存在任何ajax请求的时候都将触发这些特定的全局ajax处理函数. 如果在jQuery.ajaxSetup()中的global属性设置成true,那么这些全局函数将会在每一个ajax上面都 ...

  2. jQuery全局Ajax事件处理器

    1.  .ajaxComplete( handler(event, XMLHttpRequest, ajaxOptions) ) 每当一个Ajax请求完成,jQuery就会触发ajaxComplete ...

  3. 全局Ajax加载时呈现Loading

    全局设置: 1 2 3 4 5 $(document).bind("ajaxSend", function () {         $("#loading_messag ...

  4. js拦截全局ajax请求

    你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...

  5. 部署全局ajax处理

    $.ajaxSetup({ beforeSend:function(){ $('.loading').show(); }, complete:function(){ $('.loading').fad ...

  6. 全局 Ajax 事件处理器

    jQuery中将Ajax请求和响应分成了若干(5)个阶段 并且允许开发者在Ajax请求和响应的不同阶处理不同的逻辑, 这些方法用于注册事件处理器,用来处理页面上的任何 Ajax 请求,当某些事件触发后 ...

  7. js 拦截全局 ajax 请求

    你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...

  8. jQuery / zepto ajax 全局默认设置

    jQuery / zepto 的 $.ajax 方法需要配置很多选项, 有些是很常用的每个 ajax 请求都要用到的, 可以全局设置, 避免每次都写. 注意: 此处用的 jQuery 版本是 1.8. ...

  9. [转载]Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    本文对Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法进行了详细的总结,需要的朋友可以参考下,希望对大家有所帮助. 详细解读Jquery各Ajax函数: ...

随机推荐

  1. MongoDB 学习(三)MongoDB 和 Spring 整合(Maven)

    一.MongoDB 和 Spring 整合(Maven) 1.相关 jar 包准备 2.用 Maven 创建项目,pom.xml 文件 <project xmlns="http://m ...

  2. git记住提交密码的技巧

    修改.git包里面的config文件,添加 [credential] helper = store

  3. Service的启动流程源码跟踪

    前言: 当我们在一个Activity里面startService的时候,具体的执行逻辑是怎么样的?需要我们一步步根据源码阅读. 在阅读源码的时候,要关注思路,不要陷在具体的实现细节中,一步步整理代码的 ...

  4. Thrift笔记(七)--回调源码分析

    网上找了写代码,东拼西凑写了个demo.开始server用的是阻塞io,不行,换成非阻塞的io就可以.这里可能需要注意下 thrift文件 namespace java com.gxf.thrift ...

  5. 简单的java使用SAX解析xml

    1.新建一个SAXTest类,继承import org.xml.sax.helpers.DefaultHandler类 package com.qiao.SrpingSource; import or ...

  6. Django 模型层之单表操作

    一.单表操作之创建表 在app的models.py文件中创建模型: from django.db import models class Book(models.Model): id = models ...

  7. 类中调用界面ActiveX控件报错当前线程不在单线程单元中因此无法实例化 ActiveX 控件的解决办法

    解决办法是Form类中定义一个静态的ActiveX对象,在formload中将界面上的ActiveX对象赋值给新定义的对象,类中访问该静态对象即可. public static AxClientDri ...

  8. for 循环的时候 append() 是移动不是复制

    使用for 的时候,append() 不是复制,而是移动,只有最后一个元素才真正的append() 到了 解决办法: 1. 使用字符串: 2.使用clone();

  9. 老生常谈:++a与a--区别

    a++的作用是先对a进行操作再++:a--则相反. 如: int a = 1;int b = a++; //此时先运算b=a,再a++,故b=1,a=2int c = --a; //此时先--a,再运 ...

  10. C++类继承--基类析构函数加上Virtual

    下面的内容要说明两个问题:1. 基类的析构函数为什么要加上Virtual--防止内存泄露 1. 基类虚构函数无virtual,派生类无法析构,会导致内存泄露 #include <stdio.h& ...