在前端工作中,经常会用到ajax,其实很多人只知道ajax是异步请求,不知道应该如何用它,它的基本步骤有哪些,ajax请求过程是怎样的?接下来这篇文章就给大家介绍Ajax的请求步骤,以及ajax请求步骤的详细代码。感兴趣的朋友可以看看。

AJAX(Asynchronous JavaScript and XML):是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这就意味着可以在不重新加载整个网页的情况下,对网页的局部进行更新。

1.建立xmlHttpRequest对象

所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均支持XMLHttpRequest 对象,而IE5 和 IE6 使用 的是ActiveXObject。if(window.XMLHttpRequest){

xmlHttp = new XMLHttpRequest();

if(xmlHttp.overrideMimeType){

xmlHttp.overrideMimeType("text/xml");

}

}else if(window.ActiveXobject){

var activeName =["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];

for(var i=0; i

try{

xmlHttp = new ActiveXobject(activeName[i]);

break;

}catch(e){

}

}

}

if(!xmlHttp){

alert("创建xmlhttprequest对象失败");

}else{

}

2.设置回调函数xmlHttp.onreadystatechange= callback;

function callback(){}

3.使用OPEN方法与服务器建立连接 xmlHttp.open("get","ajax?name="+ name,true)

此步注意设置http的请求方式(post/get),如果是POST方式,注意设置请求头信息xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded")

4.向服务器端发送数据xmlHttp.send(null);

如果是POST方式就不为空

5.在回调函数中针对不同的响应状态进行处理if(xmlHttp.readyState == 4){

//判断交互是否成功

if(xmlHttp.status == 200){

//获取服务器返回的数据

//获取纯文本数据

var responseText =xmlHttp.responseText;

document.getElementById("info").innerHTML = responseText;

}

}

readyState属性:表示请求/响应过程的当前阶段

0:未初始化。尚未调用 open()方法。

1:启动。已经调用 open()方法,但尚未调用 send()方法。

2:发送。已经调用 send()方法,但尚未接收到响应。

3:接收。已经接收到部分响应数据。

4:完成。已经接收到全部响应数据,而且已经可以在客户端使用了。

只有在XMLHttpRequest对象完成了以上5个步骤之后,才可以获取从服务器端返回的数据。

status属性:响应的 HTTP 状态码

200:响应成功

301:永久重定向/永久转移

302:临时重定向/临时转移

304:本次获取内容是读取缓存中的数据

400:请求参数错误

401:无权限访问

404:访问的资源不存在

总结:以上介绍了Ajax请求的五个步骤以及详细代码 ,没有接触过得朋友可能看起来比较困难,没关系,看了以后,多去动手敲敲,慢慢就懂了,希望可以帮助到你!

ajax发送异步请求四个步骤,深入理解ajax异步请求的五个步骤(详细代码)相关推荐

  1. mysql异步非阻塞方式_如何理解swoole异步非阻塞?

    传统的apache2handler或php-fpm本质上都是短生命周期(请求后释放资源)的FastCGI运行模式. 请求来了,master进程会调用worker进程来处理,处理完后释放资源. 假设你在 ...

  2. python异步回调实现原理_快速理解Python异步编程的基本原理

    第一个例子 假设你需要用电饭煲煮饭,用洗衣机洗衣服,给朋友打电话让他过来吃饭.其中,电饭煲需要30分钟才能把饭煮好,洗衣机需要40分钟才能把衣服洗好,朋友需要50分钟才能到你家.那么,是不是你需要在这 ...

  3. 原生php ajax post_使用原生ajax发送post请求完整案例

    搜索热词 使用ajax发送数据实现前后台的交互,我想是web开发最基础的技能了.近来dz开发因为不兼容jquery,所以只能使用原生js发送数据,不想还遇到很多问题.在这里分析总结一下.先来一个使用a ...

  4. ajax发送请求的数据结构

    ajax前后端的数据交互 1.ajax 发送字符串类型 前端: // 发送ajax测试数据$.ajax({url: "settings/test/ajaxStr/toRecStr.do&qu ...

  5. Ajax异步请求的五个步骤

    AJAX(Asynchronous JavaScript and XML):是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这就意味着可 ...

  6. ajax发送异步请求与ajax发送同步请求

    async (默认: true) 默认设置下,所有请求均为异步请求.如果需要发送同步请求,请将此选项设置为 false.注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行. ajax发 ...

  7. ajax背景、ajax对象、ajax状态、ajax与http、ajax请求数据接口、同步与异步、ajax请求XML数据、封装ajax函数、artTemplate简介、同源策略和跨域请求、JSONP

    AJAX简介: ajax背景: 1.AJAX(Asynchronous JavaScript And Xml)异步的 JavaScript 和 XML:ajax是浏览器提供的一套API,最早出现在谷歌 ...

  8. 原生ajax请求的五个步骤

    //第一步,创建XMLHttpRequest对象 var xmlHttp = new XMLHttpRequest(); function CommentAll() {//第二步,注册回调函数xmlH ...

  9. ajax请求是什么?完整的Ajax请求步骤及get与post请求的区别

    一.ajax的本质其实就是在HTTP协议的基础上以异步的方式与服务器进行通信. 二.ajax的常见的请求方法 : get .post.put .delete等 三.ajax请求的实现步骤: 创建XML ...

最新文章

  1. 造车新势力“围猎”秋招,应届生如何拿下高薪 offer ?
  2. mysql savepoint 丢失_关于MySQL中savepoint语句使用时所出现的错误
  3. PCL中异常处理机制
  4. GetClientRect()和GetWindowRect()
  5. python非数值型数据_Python机器学习实战:如何处理非数值特征
  6. 同步考勤数据 钉钉_作为学校,我为何选择微校wxiao考勤打卡?
  7. python常用排序_python中的各种排序
  8. 微服务架构工作笔记003---了解认识google Kubernetes 容器管理
  9. 灵魂拷问!mysqlproxy配置
  10. 一手云端,一手终端:比特大陆发布两款AI芯片,大步迈进AI领域
  11. mysql中连接运算符_MySQL的运算符
  12. 在命令行到处MYSQL数据到EXCEL表
  13. 认识IL代码---从开始到现在 第二篇
  14. Retina 显示屏
  15. 天载杠杆炒股A股三大指数团体高开
  16. Mqtt开发笔记:windows下C++ ActiveMQ客户端介绍、编译和使用
  17. 鸿蒙系统手机电脑互传文件,【手机篇】巧借局域网,便捷实现手机电脑间的文件传输...
  18. 用vc++穷举windows应用程序密码(上)
  19. Android实现视频播放的3种实现方式
  20. 大白菜重装完系统后出现双系统怎么办

热门文章

  1. C#调用C++ DLL的方式
  2. 腾讯产品经理告诉你微信为什么没有用户等级?
  3. 【趋势】中国移动阅读市场AMC模型+实力矩阵+趋势预测
  4. oracle锁定用户名及解锁
  5. React-Native入门(1)-项目工程初识
  6. 关于apache kylin 安装32位linux办法
  7. Ubuntu 17.04 Chrome 安装
  8. OC字符串转C语言字符串
  9. Daily Scrum9 11.13
  10. [摘]Spring 3之MVC Security简单整合开发