内容简介:Ajax 介绍在node.js中前后台交互数据经常会用到这个东西,Ajax不是新的编程语言,而是一种使用现有标准的新方法,他可以实现不刷新网页部分更新数据。Ajax数据格式
Ajax 介绍
在node.js中前后台交互数据经常会用到这个东西,Ajax不是新的编程语言,而是一种使用现有标准的新方法,他可以实现不刷新网页部分更新数据。
Ajax数据格式
使用封装Ajax需要了解什么是 XMLHttpRequest ;
什么是XMLHttpRequest
XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新
创建XMLHttpRequest对象实例:
var XMLHttpRequest=new XMLHttpRequest();
Ajax的传输方式
传输数据方式有两种,一种 get ,一种 post 。
get: 地址栏 - 数据都可视, 不安全, 方便 可传输数据大小32kb
post: 加密 - 数据不可视,安全, 不方便 可传输数据大小2gb
向后端发送数据
利用XMLHttpRequest对象的open方法
open方法用于解析数据传输方式,数据内容,是否异步调用
get方法
var XMLHttpRequest = new XMLHttpRequest(); XMLHttpRequest.open('GET','数据',true); XMLHttpRequest.send();
var XMLHttpRequest = new XMLHttpRequest(); XMLHttpRequest.open('POST','数据',true); XMLHttpReuqest.send();
异步 - True 或 False
同步:后台进程一步一步完成
异步:后台进程同时调用运行
XMLHttpRequest的open方法第三个参数‘true’ or ‘false’就是选择是否异步,当然选择true啦,高效。
XMLHttpRequest.onreadystatechange=function() { if(XMLHttpRequest.readyState == 4) { if(XMLHttpRequest.status >= 200 && XMLHttpRequest.status < 300 || XMLHttpReuqest.status == 304) { //console.log(XMLHttpRequest.responseText); json.success(XMLHttpReuqest.responseText); }else{ //console.log('服务器错误'); } } }
onreadystatechange方法:当状态码改变时触发,
readyState 当前状态码
什么是状态码
ajax状态码 - ajax readyState: 0 - (未初始化)还没有调用send()方法 1 - (载入)已调用send()方法,正在发送请求 2 - (载入完成)send()方法执行完成,已经接收到全部响应内容 3 - (交互)正在解析响应内容 4 - (完成)响应内容解析完成,可以在客户端调用了
- XMLHttpRequest.state
当前进程加载状态,例如404是无回应的,200是加载成功等
服务器响应
如果服务器有内容响应也就是后端有数据返回前端则有两个XMLHttpRequest对象获取 responseText , responseXML 。
responseText返回字符串形式的数据
responseXML返回XML形式的数据
responseText 例子
html: <div id="div1"></div> js: var XMLHttpRequest = new XMLHttpRequest(); document.getElementById("div1").innerHTML=XMLHttpRequest.responseText;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
哥德尔、艾舍尔、巴赫
[美] 侯世达 / 严勇、刘皓明、莫大伟 / 商务印书馆 / 1997-5 / 88.00元
集异璧-GEB,是数学家哥德尔、版画家艾舍尔、音乐家巴赫三个名字的前缀。《哥德尔、艾舍尔、巴赫书:集异璧之大成》是在英语世界中有极高评价的科普著作,曾获得普利策文学奖。它通过对哥德尔的数理逻辑,艾舍尔的版画和巴赫的音乐三者的综合阐述,引人入胜地介绍了数理逻辑学、可计算理论、人工智能学、语言学、遗传学、音乐、绘画的理论等方面,构思精巧、含义深刻、视野广阔、富于哲学韵味。 中译本前后费时十余年,......一起来看看 《哥德尔、艾舍尔、巴赫》 这本书的介绍吧!