Ajax

ajax是一个异步请求数据的技术。
浏览器有提供相关的对象:window.XMLHttpRequest 或 window.ActiveXObject。

发送Ajax请求过程如下:

1. 创建 XMLHttpRequest 对象
2. 监听状态 对象状态变化
3. 设置 XMLHttpRequest 对象
4. 发送请求

代码如下:

 1     var xmlhttp = null;
 2     var data = "";            // 返回data
 3
 4     if(window.XMLHttpRequest) {
 5         xmlhttp = new XMLHttpRequest();
 6     }
 7     else {
 8         xmlhttp = window.ActiveXObject("Microsoft.XMLHTTP");
 9     }
10
11     if(xmlhttp!=null) {
12         xmlhttp.onreadystatechange = stateChange;
13         xmlhttp.open("GET", url, true);
14         xmlhttp.send(null);
15     }
16
17     function stateChange(){
18         // load
19         if(xmlhttp.readyState==4){
20             var status = xmlhttp.status;
21             // 成功
22             if(status==200){
23                 data = xmlhttp.responseText;
24             }
25             else if(status==404){
26                 console.error("404 NOT FOUND!");
27             }
28             else{
29                 console.error("error");
30             }
31         }
32     }

xmlhttp相关属性/方法说明:

onreadystatechange:
服务器接收请求后会返回服务器的当前状态(readyState)。每次返回都状态都会触发onreadystatechange()。
状态码:
  0: 请求未初始化
  1: 服务器连接已建立
  2: 请求已接收
  3: 请求处理中
  4: 请求已完成,且响应已就绪

open:
  设置xmlhttp对象。open(method, url, async)。

open参数说明:
  method:请求方法。    // GET、POST
  url:请求的数据。        // http://www.xxxxx.com/p/a/t/h
  async:是否异步      // true、false

setRequestHeader(header, value): 向请求添加 HTTP 头。
send({param}): 发送请求。param为参数,只有POST才有参数。

readyState:返回服务器返回的状态。readyState改变时,会触发onreadystatechange事件
status:发送请求后,服务器返回的状态码。

responseXML: 接收返回的xml数据
responseText: 接收返回的Text数据

转载于:https://www.cnblogs.com/lilijing/p/4417450.html

原生js实现ajax相关推荐

  1. 原生js实现Ajax,JSONP

    Ajax内部的几个执行步骤 创建XMLHttpRequest对象(new XMLHttpRequest()) 设置请求头(setRequestHeader) 连接服务器(open()) 设置回调(on ...

  2. 使用原生js写ajax

    // 使用原生js 封装ajax // 兼容xhr对象 function createXHR(){if(typeof XMLHttpRequest != "undefined"){ ...

  3. Ajax工作原理和原生JS的ajax封装

    前言: 之所以用ajax作为博客的开篇,是因为无论从ajax的出现还是从它的作用上来说,ajax对于前端无疑是意义重大的.甚至可以说,是ajax带来了前端这个行业.当然,历史并不能说明当下,曾经的辉煌 ...

  4. java原生的ajax怎么写,用原生js实现 ajax方法

    原标题:用原生js实现 ajax方法 作者介绍:咔拉宝宝前端工程师,致力于首个情景式购物商城咔拉商城的前端搭建,在咔拉职场栏目作为程序猿担当,与读者朋友们共同探讨前端开发的那些事. 一.ajax介绍: ...

  5. js原生ajax跨域请求,封装一个原生js的ajax请求,支持IE9CORS跨域请求

    前言 关于纯js的ajax请求,我之前有文章写过, https://www.haorooms.com/post/js_ajax_chun , 关于CORS跨域资源共享,我也有文章写过, https:/ ...

  6. ajax 原生js操作ajax

    一.ajax         1.什么是ajax?         ajax是异步javascript与xml,它是多种技术一个集合.可以无刷新状态更新页面.         2.ajax的优缺点: ...

  7. 原生ajax如何跨域,封装一个原生js的ajax请求,支持IE9CORS跨域请求

    前言 关于纯js的ajax请求,我之前有文章写过,https://www.haorooms.com/post/js_ajax_chun, 关于CORS跨域资源共享,我也有文章写过,https://ww ...

  8. 原声ajax发送post请求,原生JS实现ajax 发送post请求

    1. [代码]原生JS实现ajax 发送post请求 var oStr = ''; var postData = {}; var oAjax = null; //post提交的数据 postData ...

  9. js 封装ajax方法吗,原生JS封装ajax方法

    jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只需要ajax,这时引入jquery库会造成资源浪费,也会显得页面臃肿.这时我们就 ...

  10. 原生js的Ajax实例

    与jQuery不同,原生js的ajax的实现相比来说复杂一些,因为jquery中的$.ajax()方法已经把js的实现封装起来,使用起来更加方便.但是,原生js的实现过程,对于理解ajax,好像更清晰 ...

最新文章

  1. mysql多大_mysql的innodb表到底占用多大的空间?
  2. 【观点】避免不必要的代码缩进和嵌套
  3. C# 集合交、并、差、去重,对象集合交并差
  4. Oracle with语句的用法
  5. 求C语言中的32个关键字及其意思?
  6. C++解析XML文件
  7. APP抓包工具Fidder
  8. 木马手工查杀和隐藏控制技术分析
  9. C++加载lib和dll的方法
  10. 两个生物特征识别会议的最新情况
  11. stm32读取目标芯片_PCF8563时钟读取芯片程序 STM32
  12. 对Carrier IQ木马的综合分析报告
  13. UDS诊断看这篇就够了,吐血整理
  14. rust入门学习指南
  15. 学习笔记:全局变量定义“无须”初始化,局部变量必须初始化
  16. 计算机入门教程 office2007入门,大学计算机基础教程Office2007版.PPT
  17. 2021年R1快开门式压力容器操作最新解析及R1快开门式压力容器操作操作证考试
  18. Linux安装和入门
  19. GYM100792K King‘s rout
  20. 【Python相关】anaconda介绍

热门文章

  1. Javascript学习数据结构--字典
  2. OpenGL进阶演示样例1——动态画线(虚线、实线、颜色、速度等)
  3. selenium webdriver 实现Canvas画布自动化测试
  4. cmd sc命令进行服务操作
  5. web前端学习笔记(python)(一)
  6. Python爬虫学习第一天--uillib库和request库
  7. 【UVALive】3029 City Game(悬线法)
  8. 2.11 确定运行计划
  9. jmeter的分布式部署
  10. int类型和byte类型的强制类型转换