Ajax学习(一)
2016-06-17 13:38
274 查看
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。
AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。
Ajax 的核心是 JavaScript 对象 XMLHttpRequest。该对象在 Internet Explorer 5 中首次引入,它是一种支持异步请求的技术。简而言之,XMLHttpRequest使您可以使用 JavaScript 向服务器提出请求并处理响应,而不阻塞用户。
现在先写一个简单的用ajax拿数据的请求来感受一下吧
这样一个简单的ajax拿数据的HTML就写好了
运行效果:
点击拿数据之后
我们
看到控制台上打印的数字
因为xhr.readyState共有5种状态数字从0开始
当创建一个xhr对象时xhr.readyState 等于 0
之后xhr.readyState的每一次变化都会触发所绑定的readystatechange 事件函数 所以console.log(xhr.readyState);会在控制台上打印1到4的数字
当 3 代表正在加载 还未完全加载
4 加载完毕
所以通过以下代码能拿到数据并显示出来
AJAX = 异步 JavaScript和XML(标准通用标记语言的子集)。
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
传统的网页(不使用 AJAX)如果需要更新内容,必须重载整个网页页面。
Ajax 的核心是 JavaScript 对象 XMLHttpRequest。该对象在 Internet Explorer 5 中首次引入,它是一种支持异步请求的技术。简而言之,XMLHttpRequest使您可以使用 JavaScript 向服务器提出请求并处理响应,而不阻塞用户。
现在先写一个简单的用ajax拿数据的请求来感受一下吧
<body> <button>拿数据</button> <div id="divtext"></div> </body> <script type="text/javascript"> document.getElementsByTagName("button")[0].onclick = function() { //创建对象 相当于打开浏览器 0 var xhr //ajax 的5种状态 if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { try { // 增加对 IE 浏览器的支持 xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } if (xhr.addEventListener) { xhr.addEventListener("readystatechange", function() { //为xhr绑定readystatechange 事件 当xhr 的readyState 发生变化时该函数触发 console.log(xhr.readyState); // 3 正在加载 还未完全加载 // 4 加载完毕 if (xhr.readyState == 4) { //当返回状态 200时 读取内容 if (xhr.status == 200) { document.getElementById("divtext").innerHTML = xhr.responseText; } } }); } else { xhr.onreadystatechange = function() { if (xhr.readyState == 4) { //当返回状态 200时 读取内容 if (xhr.status == 200) { document.getElementById("divtext").innerHTML = xhr.responseText; } } } } var method = "GET"; var url = "hello.txt"; // 相当于输入连接 1 xhr.open(method, url); //当请求方式为post 时 content-type头必须设置 xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded") //发送 回车 2 xhr.send(); } </script>
这样一个简单的ajax拿数据的HTML就写好了
运行效果:
点击拿数据之后
我们
看到控制台上打印的数字
因为xhr.readyState共有5种状态数字从0开始
当创建一个xhr对象时xhr.readyState 等于 0
之后xhr.readyState的每一次变化都会触发所绑定的readystatechange 事件函数 所以console.log(xhr.readyState);会在控制台上打印1到4的数字
当 3 代表正在加载 还未完全加载
4 加载完毕
所以通过以下代码能拿到数据并显示出来
if (xhr.readyState == 4) { //当返回状态 200时 读取内容 if (xhr.status == 200) { document.getElementById("divtext").innerHTML = xhr.responseText; } }
相关文章推荐
- JQuery1——基础($对象,选择器,对象转换)
- Android学习笔记(二九):嵌入浏览器
- Android java 与 javascript互访(相互调用)的方法例子
- JavaScript演示排序算法
- javascript实现10进制转为N进制数
- 最后一次说说闭包
- Ajax
- $.ajax()方法详解
- jQuery ajax - ajax() 方法
- 使用Ajax实现异步用户名验证
- 使用ajax实现用户登录验证(升级版)
- 2019年开发人员应该学习的8个JavaScript框架
- HTML中的script标签研究
- 对一个分号引发的错误研究
- 异步流程控制:7 行代码学会 co 模块
- ES6 走马观花(ECMAScript2015 新特性)
- JavaScript拆分字符串时产生空字符的原因