1、创建异步对象  一般命名为xhr

    var xhr = new XMLHttpRequest();
 
2、 设置请求行 open(请求方式,请求url)
 
  1.get 需要在url后面拼接参数(如果有参数)
  2.post请求不需要拼接参数
  xhr.open("post","validate.php");
 
3、设置请求头:setRequestHeader()
 
  1.get不需要设置
  2.post需要设置请求头:Content-Type:application/x-www-form-urlencoded
     xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");.
   如果没有设置,参数无法正确的传递到服务器(本质上说,如果没有参数,也不一定需要设置,不会影响请求的发送)
4、 设置请求体 send()
 
  1.get的参数在url拼接了,所以不需要在这个函数中设置
  2.post的参数在这个函数中设置(如果有参数)
  xhr.send("username="+name);
5、让异步对象接收服务器的响应数据
 
   一个成功的响应有两个条件:1.服务器成功响应了 2.异步对象的响应状态为4(数据解析完毕可以使用了)
   当异步对象的响应状态发生改变的时候,会触发一个事件:onreadystatechange
   xhr.onreadystatechange = function(){
   判断服务器是否响应 判断异步对象的响应状态
   if(xhr.status == 200 && xhr.readyState == 4){
   //当返回的是xml格式的数据时: console.log(responseXML)
   //当返回的是其他格式的数据时:console.log(responseText)
   }
 
 
服务器响应状态码:
  200: 访问的数据已经获取到了
  404: 服务器端访问不到客户端请求的数据
  500:服务器出错了
  302: 重定向
 
 

发送ajax步骤的更多相关文章

  1. 原生js发送ajax请求

    堕落了一阵子了,今天打开博客,发现连登录的用户名和密码都不记得了.2016年已过半,不能再这么晃荡下去了. 参加了网易微专业-前端攻城狮 培训,目前进行到大作业开发阶段,感觉举步维艰.但是无论如何,不 ...

  2. 学习AJAX必知必会(4)~JQuery发送Ajax请求

    一.JQuery发送Ajax请求 ■ 对于get和post请求,jQuery内部封装了Ajax请求的4个步骤和数据格式的设置 ■ 对于Ajax通用请求,jQuery内部封装了Ajax请求的4个步骤和数 ...

  3. 在发送ajax请求时加时间戳或者随机数去除js缓存

    在发送ajax请求的时候,为了保证每次的都与服务器交互,就要传递一个参数每次都不一样,这里就用了时间戳 大家在系统开发中都可能会在js中用到ajax或者dwr,因为IE的缓存,使得我们在填入相同的值的 ...

  4. jQuery发送ajax请求

    利用jquery发送ajax请求的几个模板代码. $.ajax({ async : false, type: 'POST', dataType : "json", url: &qu ...

  5. JQuery发送ajax请求不能用数组作为参数

    JQuery发送ajax请求不能用数组作为参数,否则会接收不到参数, 一.js代码如下: $('#delete-button').click(function(){        var select ...

  6. js中使用队列发送ajax请求

    最近,项目中需要按照先后顺序发送ajax请求,并且在一次请求结束后才能发起下一次,不然就会导致逻辑错误. 解决办法是定义一个数组,保存ajax请求数据. 以下使用extjs4定义一个类 Ext.def ...

  7. IE6下a标签上发送ajax请求总是error

    IE6下真是处处是坑啊!!!走过了一个又一个坑,记录一下吧. 之前不知道a标签上注册click事件之后,发送ajax请求总是error.后来经过几番网上搜索,终于找到高人遇到此坑的解决办法.原来是a标 ...

  8. Jquery发送ajax请求以及datatype参数为text/JSON方式

    Jquery发送ajax请求以及datatype参数为text/JSON方式 1.方式一:datatype:'text' 2.方式二:datatype:'JSON' 3.使用gson-1.5.jar包 ...

  9. 【liferay】1、使用alloy-UI发送ajax请求

    1.首先liferay要发送ajax请求,那么就需要在jsp中定义resourceURL <portlet:resourceURL var="workDeal" id=&qu ...

随机推荐

  1. vue教学视频(小程序教学视频)

    写在前面 最近通过了解众多面试者的面试情况 总结出以下几点: 对框架的要求越来越高特别是vue和小程序 不会vue和小程序连面试机会都没有 会vue的比不会vue的薪资高4-5k 小程序有发展的趋势 ...

  2. redis应用--位图

    在我们平时开发过程中,会有一些 bool 型数据需要存取,比如用户一年的签到记录,签了是 1,没签是 0,要记录 365 天.如果使用普通的 key/value,每个用户要记录 365 个,当用户上亿 ...

  3. SQL求几何重心

    ST_Centroid(geometry); geometry :a specified ST_Geometry e.g.: select ST_AsText(ST_Centroid('0103000 ...

  4. 关于Linux时间设置的总结

    系统环境:centos Linux的时间有两种,一种是系统时间,一种是硬件时间. 系统时间的查看:#date 系统时间的设置:#date -set 时间同步工具准备 Linux进行时间同步要使用一个工 ...

  5. 慢阻肺疾病管理APP——第一次迭代心得

    时光匆匆,不知不觉就到了第十二周.——第一次迭代都完成了,最终迭代还会远吗? 一.第一次迭代的设想和目标: 1.  我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? ...

  6. jar 包启动脚本

    #!/bin/bash JAVA_HOME=/usr/java/default #java虚拟机启动参数 JAVA_OPTS="-server -Xms800m -Xmx800m -Xmn2 ...

  7. Java泛型之自限定类型

    在<Java编程思想>中关于泛型的讲解中,提到了自限定类型: class SelfBounded<T extends SelfBounded<T>> 作者说道: 这 ...

  8. 新版ios证书的申请

    现在IOS不再开放提供测试证书了,整理一个申请证书的流程. 1. 申请应用的id 链接地址 https://developer.apple.com/登陆开发者中心,在account界面点击红框里面得区 ...

  9. 如何使用HTML5的WebSocket实现网页与服务器的双工通信(二)

    本系列服务端双工通信包括两种实现方式:一.使用Socket构建:二.使用WCF构建.本文为使用WCF构建服务端的双工通信,客户端同样使用Html5的WebSocket技术进行调用. 一.创建WCF服务 ...

  10. Python 查看线程的进程id

    import os from threading import Thread # from multiprocessing import Process def f1(n): print('1号',o ...