首页
学习
活动
专区
圈层
工具
发布

$.ajax()方法详解学习

在工作总是会有很多地方用到异步请求,有时候用快捷方法 get/post 或者getJson不能满足自己的需求,所以必须使用底层的ajax来实现异步请求,每次写完下次在用到的时候就记不清楚了,就在这里记录一下...它的工作原理是在GET请求参数中附加”_={timestamp}”(详见ajax防止缓存)。该参数不是其他请求所必须的,除了在IE8中,当一个POST请求一个已经用GET请求过的URL。...jqXHR(在jQuery 1.4.x的中,XMLHttpRequest)对象,此功能用来设置自定义 HTTP 头信息,等等。...) 请求成功后的回调函数。...这个回调函数得到2个参数: jqXHR (在 jQuery 1.4.x中是 XMLHTTPRequest) 对象和一个描述请求状态的字符串(“success”, “notmodified”, “nocontent

6.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    jQuery ajax - ajax() 方法jQuery ajax - ajax() 方法

    在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。...在 jQuery 1.4 中,它也会检查服务器指定的 'etag' 来确定数据没有被修改过。 jsonp 类型:String 在一个 jsonp 请求中重写回调函数的名字。...通常只在本地和远程的内容编码不同时使用。 success 类型:Function 请求成功后的回调函数。...回调函数 如果要处理 $.ajax() 得到的数据,则需要使用回调函数:beforeSend、error、dataFilter、success、complete。...$.ajax() 的 async 参数总是设置成true,这标志着在请求开始后,其他代码依然能够执行。

    16.9K30

    jQuery的deferred对象详解

    开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果的。...通常的做法是,为它们指定回调函数(callback)。即事先规定,一旦它们运行结束,应该调用哪些函数。 但是,在回调函数方面,jQuery的功能非常弱。...;     }   }); (运行代码示例1) 在上面的代码中,$.ajax()接受一个对象参数,这个对象包含两个方法:success方法指定操作成功后的回调函数,error方法指定操作失败后的回调函数...还是以上面的代码为例,如果ajax操作成功后,除了原来的回调函数,我还想再运行一个回调函数,怎么办? 很简单,直接把它加在后面就行了。   ...前面部分的ajax操作时,deferred对象会根据返回结果,自动改变自身的执行状态;但是,在wait()函数中,这个执行状态必须由程序员手动指定。

    1.6K60

    jQuery的deferred对象详解

    在开发中,我们经常遇到某些耗时很长的javascript操作。其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果的。...jQuery开发团队就设计了deferred对象,来作为回调函数的解决方案。...; }); 上述示例中,提及到了deferred.resolve()。说明其作用需要先说一下jQuery规定deferred对象的三种执行状态:未完成、已完成和已失败。...,或者调用progress()方法指定的回调函数(jQuery1.7版本添加)。...9. deferred.always()这个方法也是用来指定回调函数的,它的作用是,不管调用的是deferred.resolve()还是deferred.reject(),最后总是执行。

    1.3K31

    你真的知道ajax的全部吗?

    其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果的。 通常的解决方法是,为它们指定回调函数(callback)。...即事先规定,一旦它们运行结束,应该调用哪些函数。 但是,在回调函数方面,jQuery的功能非常弱。为了改变这一点,jQuery开发团队就设计了deferred对象。...简单说,deferred对象就是jQuery的回调函数解决方案。 在英语中,defer的意思是"延迟",所以deferred对象的含义就是"延迟"到未来某个点再执行。...;     }   }); (运行代码示例1) 在上面的代码中,$.ajax()接受一个对象参数,这个对象包含两个方法:success方法指定操作成功后的回调函数,error方法指定操作失败后的回调函数...还是以上面的代码为例,如果ajax操作成功后,除了原来的回调函数,我还想再运行一个回调函数,怎么办? 很简单,直接把它加在后面就行了。

    1.3K70

    深入理解JS异步编程三(promise)

    比如jquery中的ajax的 $.post $.get $.ajax 等方法,实际上都是默认调用了promise方法,然后返回了一个promise对象 promise对象常见的方法有三个 : done...Promise 对象在 EMCAScript 2015 当中已经成为标准。...特点: 有三种状态:Pending(进行中)、Resolved(已完成,又称Fulfilled)和Rejected(已失败)。 一旦状态改变,就不会再变,任何时候都可以得到这个结果。...就算改变已经发生了,你再对Promise对象添加回调函数,也会立即得到这个结果。这与事件(Event)完全不同,事件的特点是,如果你错过了它,再去监听,是得不到结果的。...promise调用中,任何的环节发生reject,都可以在最终的catch中捕获到: Promise.resolve().then(function(){ return loadImage(img1

    68720

    一个小时学会jQuery

    jQuery 1.8.3 2012年11月14日 jQuery 1.8.3 发布,修复 bug 和性能衰退问题、IE8中的HTML相关Bug、jQuery 1.8.2在IE9中调用ajax失败的问题 jQuery...5.1、回调函数 如果要处理$.ajax()得到的数据,则需要使用回调函数。beforeSend、error、dataFilter、success、complete。...complete 当请求完成之后调用这个函数,无论成功或失败。传入XMLHttpRequest对象,以及一个包含成功或错误代码的字符串。...如果isLocal设置需要修改,建议在$.ajaxSetup()方法中这样做一次。 jsonp   String 在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"...还有 jqXHR(在jQuery 1.4.x的中,XMLHttpRequest) 对象 。在jQuery 1.5, 成功设置可以接受一个函数数组。每个函数将被依次调用。

    22.3K71

    jQuery的deferred对象详解

    开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比如遍历一个大型数组),它们都不是立即能得到结果的。...通常的做法是,为它们指定回调函数(callback)。即事先规定,一旦它们运行结束,应该调用哪些函数。 但是,在回调函数方面,jQuery的功能非常弱。...;     }   }); (运行代码示例1) 在上面的代码中,$.ajax()接受一个对象参数,这个对象包含两个方法:success方法指定操作成功后的回调函数,error方法指定操作失败后的回调函数...还是以上面的代码为例,如果ajax操作成功后,除了原来的回调函数,我还想再运行一个回调函数,怎么办? 很简单,直接把它加在后面就行了。   ...前面部分的ajax操作时,deferred对象会根据返回结果,自动改变自身的执行状态;但是,在wait()函数中,这个执行状态必须由程序员手动指定。

    86220

    ASP.NET 使用Ajax

    之前在Ajax初步理解中介绍了对Ajax的初步理解,本文将介绍在ASP.NET中如何方便使用Ajax,第一种当然是使用jQuery的ajax,功能强大而且操作简单方便,第二种是使用.NET封装好的ScriptManager...在Default.aspx页面中的JavaScript中可以看到testGet函数就利用jQuery的ajax向Normal.aspx发送了了一个get请求,没写的参数使用jQuery默认参数,这个调用没使用任何参数...; } }); } testGet2函数是在testGet函数的基础上做了些许修改,首先对success方法做了更改,把得到的response...而上一个例子中我们得到的response是一个json字符串,在客户端需要用eval使其转换为json对象。...我们看看结果: 通过上图可以看到,jQuery调用WebService默认会返回一个XML文档,而需要的数据在 节点中,只需要使用jQuery解析xml的语法就可以轻松得到数据。

    3.7K20

    前端开发中不可忽视的知识点汇总(二)

    this总是指向函数的直接调用者(而非间接调用者);如果有new关键字,this指向new出来的那个对象;在事件中,this指向触发这个事件的对象,特殊的是,IE中的attachEvent中的this总是指向全局对象...默认支持的糟糕特性都会被禁用,比如不能用with,也不能在意外的情况下给全局变量赋值; 全局变量的显示声明,函数必须声明在顶层,不允许在非函数代码块内声明函数,arguments.callee也不允许使用...Ajax 解决浏览器缓存问题 1、在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0")。...2、在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-Control","no-cache")。...jquery.extend 为jquery类添加类方法,可以理解为添加静态方法 jquery.fn.extend: 源码中jquery.fn = jquery.prototype,所以对jquery.fn

    2.3K40

    通过ajaxreturn jquery json提交form

    2.2.2 json和ajax的关系? 在上面关于jquery.ajax的介绍中提到了,json可以作为一个ajax函数的dataType,这样数据就会通过json语法传输了。...在jquery的ajax函数中,只能传入3种类型的数据: >1.json字符串:"uname=alice&mobileIpt=110&birthday=1983-05-12" >2.json对象:{uanme...整个过程是: 1.在php中编写页面中的表单、提交按钮等; 2.在js中对php中的按钮事件添加校验和触发函数,在js函数内,如果js对象的格式和内容正确就向控制器url(php中初始化)发起ajax请求...; 3.控制器中的相应操作响应ajax请求,并判断数据后做数据库读写操作,然后对数据库操作结果做出判断,ajaxReturn返回js需要的数组; 4.当ajax成功返回时,js中ajax的success...这样就完成了ajax异步局部刷新。 提交表单的时候,不建议用$.submit函数,导致重复提交或jquery失效!具体原因我也没弄明白。

    5.9K30

    jQuery - Ajax详解分析(三)

    回调函数 如果要处理 $.ajax() 得到的数据,则需要使用回调函数:beforeSend、error、dataFilter、success、complete。...beforeSend 在发送请求之前调用,并且传入一个 XMLHttpRequest 作为参数。 error 在请求出错时调用。...并且必须返回新的数据(可能是处理过的)传递给 success 回调函数。 success 当请求之后调用。传入返回后的数据,以及包含成功代码的字符串。...complete 当请求完成之后调用这个函数,无论成功或失败。传入 XMLHttpRequest 对象,以及一个包含成功或错误代码的字符串。...这四个回调函数是官网推荐的,可以取代上面四个回调函数,详细看http://api.jquery.com/jQuery.ajax/ jqXHR对象的属性 readyState responseXML

    58100
    领券