一、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. Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)

    http://blog.csdn.net/qq598535550/article/details/51703190 二.Spring整合mybatis其实是在mybatis的基础上实现Spring框架 ...

  2. SZU2

    CF:Problem 425A 区间暴力,枚举区间.交换选定区间最小值和剩余区间最大值k次. 其实等同于将剩余区间最大k个加到选定区间里,然后排序 #include <iostream> ...

  3. ajax方法XHR.readyState五种状态与示例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 主动驱动事件执行--createEvent

    1. createEvent(eventType)参数:eventType 共5种类型:    Events :包括所有的事件.           HTMLEvents:包括 'abort', 'b ...

  5. ArcGIS for JavaScript 关于路径开发的一些记录(三)

    最近被一个bug困扰了两天~ 我新发布了一个NAserver(路径分析服务),但是放在之前的代码里面发现不能生成路径.经过我的调试发现并没有代码并没有报错,并且能够返回所生成路径的Graphic la ...

  6. C++程序员必需的修养

    原文:http://www.cnblogs.com/ctoroad/archive/2006/03/24/357423.html 我总结了在用C/C++语言(主要是C语言)进行程序写作上的三十二个“修 ...

  7. Jmeter运营活动并发测试—巧用集合点

    在运营活动测试过程中,经常需要对秒杀活动或定时抽奖活动进行并发测试.那么怎样快速便捷的模拟多用户同时参与活动,抽取奖品,进行并发测试呢?尤其是,当奖品总数N<用户总数M时,代码是否会存在奖品多发 ...

  8. idea 安装findBugs 和 checkStyle

    1.fiindBugs是一款 静态分析工具,检查程序潜在bug,在bug报告中快速定位到问题的代码上.在idea下面安装很简单可以参考 http://zhongmin2012.iteye.com/bl ...

  9. Porting QML Applications to Qt 5

    When porting QML-related code from Qt 4.8 to Qt 5, application developers should be aware that the Q ...

  10. SQL Server ->> 无法将数据库从SINGLE_USER模式切换回MULTI_USER模式(Error 5064)

    报错信息如下: Msg 5064, Level 16, State 1, Line 1Changes to the state or options of database 'test' cannot ...