ajax对象。同步与异步及ajax发送请求

ajax对象的属性、方法

属性

  • readyState: Ajax状态码 * 0:表示对象已建立,但未初始化,只是 new 成功获取了对象,但是未调用open方法 1:表示对象已初始化,但未发送,调用了open方法,但是未调用send方法 2:已调用send方法进行请求 3:正在接收数据(接收到一部分),客户端已经接收到了一部分返回的数据 4:接收完成,客户端已经接收到了所有数据 *
  • status :http响应状态码 200代表成功获取服务器端数据 404未找到页面等等……
  • statusText :http响应状态文本
  • responseText:如果服务器端返回字符串,使用responseText进行接收
  • responseXML :如果服务器端返回XML数据,使用responseXML进行接收
  • onreadystatechange:当 readyState 状态码发生改变时所触发的回调函数

方法

  • open(method,url,[aycs]):初始化Ajax对象 (打开) method:http请求方式,get/post url:请求的服务器地址 aycs:同步与异步
  • setRequestHeader(header,value):设置请求头信息 header :请求头名称 value :请求头的值
  • xhr.getAllResponseHeaders() 获取全部响应头信息
  • xhr.getResponseHeader(‘key‘) 获取指定头信息
  • send([content]) :发送Ajax请求 content : 如果是get请求时,此参数为null;

    如果是post请求时,此参数就是要传递的数据

同步与异步

举个例子:

小明去餐馆排队点餐,前台服务员将小明的菜单告诉厨师进行制作,此时小明后面排队的人就一直等着, 直到厨师制作完成,把饭菜送到小明手里后离开,后面的人才能继续点餐;这就是同步处理;

但是,如果前台服务员将小明的菜单告诉厨师后,服务员发给小明一个号牌去旁边等待,后面的人继续点餐, 厨师将小明的饭菜做好后,随时呼唤小明就餐;这就是异步处理。

ajax发送请求默认情况下就是异步处理过程,每执行一步的时候不会考虑上一步是否执行完,上一步只要开始执行了,即服务器接收到了信息,name下一步就是开始执行,不过可以通过设置open()方法的第三个参数来设置是同步还是异步;

ajax发送请求

根据输入框中输入的内容,判断输入的内容是否可用(admin不可用,其他可用)

html文件:

服务器js文件:

通过http://127.0.0.1:8888/访问html 页面,当输入框失去焦点时,触发事件,向服务器发送请求,判断内容是否可用。

原文地址:https://www.cnblogs.com/ruoruchujian/p/10982419.html

时间: 2024-11-05 20:40:10

ajax对象。同步与异步及ajax发送请求的相关文章

UI13-GET POST 同步,异步-代理 Block请求方式。

http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx?date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213 http://project.lanou3g.com/teacher/yihuiyun/lanouproject/activitylist.php 两个接

ajax的同步 和 异步

摘的: 一. 同步和异步的理解实际很简单,同步就代表一个请求对应一个响应对象,只有当这个过程完整个结束后,下一个请求才能进来, 异步就是执行当前请求的同时,其他请求也可以执行,其实概念和多线程执行时差不多的! 二. ajxa:  不写 async .则默认是async:true  异步 三. 1 同步:提交请求->等待服务器处理->处理完毕返回这个期间客户端浏览器不能干任何事 2 异步:请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕 1.一心一意:当前只

Ajax的同步和异步调用

jquery的async:false,这个属性 默认是true:异步,false:同步. $.ajax({ type: "post", url: "path", cache:false, async:false, dataType: ($.browser.msie) ? "text" : "xml", success: function(xmlobj){ } }); 有了这个属性可以相对的减少代码运行书序问题,但是如果用的太多

ajax中同步和异步

一.async值为true (异步) 当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax块发出请求后一个线程 和ajax块后面的脚本(另一个线程) 例如 $.ajax({             type:"POST",            url:"Venue.aspx?act=init",            da

如何理解ajax的同步和异步?

对于如下一段代码: var dataJson = {"ABC":'testABC'}; $.ajax({                url: "/MonkeyServlet",                async:false,                data:dataJson,                contentType: "application/json; charset=utf-8",              

jQuery中ajax的同步与异步

之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除. 而异步则这个AJAX代码运行中的时候其他代码一样可以运行. jquery的async:false,这个属性 默认是true:异步,false:同步. $.ajax({ type: "post", url: "

ajax的同步和异步问题 (转)

async默认的设置值为true,这种情况为异步方式,当ajax发送请求后,在等待server端返回的数据的过程中,程序会继续执行ajax块后面的代码,直到服务器返回正确的结果才会去执行success的方法,也就是说程序会从两个方向去执行脚本.在这个程序里,执行是这样的,执行ajax的success方法,另一方面执行脚本2.显然,不能得到想要的结果.因为,执行顺序的问题. 当把asyn设为false时,这时ajax的请求时同步的.这样的话,只有ajax请求成功之后,才会执行脚本2.也就是说,这个

Ajax的同步与异步

之前做项目中有遇到就是Ajax的同步与异步的问题,由于Ajax的async默认的设置值为true,属于异步.这个时候就会出现一个问题,就是2段代码如果有关联的话其有一个先后顺序执行的问题,我的下面的代码就是属于这种情况,当时老纠结为什么不是自己预期的效果,后来将async的属性值改为false后,属于同步.运行终于达到了预期的效果,经历过后还得记下来总结经验:

extjs Ext.Ajax.request 同步和异步

ext3.x 不支持ajax的同步请求,ext4就开始支持. 1 Ext.Ajax.request({ 2 url : '', 3 sync:true, 4 params : { 5 name : text.getValue() 6 }, 7 success : function(response, options) { 8 var responseArray = Ext.util.JSON.decode(response.responseText); 9 resultValue=respons