ajax验证方式
ajax方式用户名验证:
ajax接收服务器返回信息
发送信息由Ajax负责发送,那么接收信息时,需要Ajax接收信息。
Ajax接收服务器返回信息,可以接收json格式:本质字符串的数据。
Ajax对象成员分析:
读取状态readyState:
分析可得当状态readyState为4时才可以获得返回的数据。
Ajax监听状态改变事件
监听状态改变事件onreadystatechange
onreadystatechange:当Ajax的状态readystate发生变化时触发执行,为了获得较多的状态,最好在创建好Ajax对象后就设置。
最多可以感知到1、2、3、4种状态。
监听状态改变事件onreadystatechange里
当读取状态readyState为4时,返回数据xhr.reponseText
此时会发现返回undefined
HTTP请求
HTTP简介:
http是计算机通过网络进行通信的规则,使浏览器去服务器请求信息和服务。
HTTP是一种无状态协议(他可以自己保存东西cookie):无状态指的是不建立持久的连接,即服务端不保留连接的相关信息,即断开请求和响应后是没有记忆的。
HTTP请求是一步完成的吗?—NO
HTTP请求步骤
一个完整的HTTP请求过程,通常包含以下7个步骤
(1)建立TCP连接
(2)WEB浏览器向WEB服务器发送请求命名
(3)WEB浏览器发送请求头信息
(4)WEB服务器应答
(5)WEB服务器发送应答头信息
(6)WEB服务器向浏览器发送数据
(7)WEB服务器关闭TCP连接
HTTP请求组成部分---->一个HTTP请求一般由4部分组成
(1)HTTP请求的方法或动作,比如get或post请求
(2)请求的URL地址-----网址
(3)请求头,包含客户端环境信息,身份验证信息等
(4)请求体即请求正文,请求正文可以包含客户提交的查询字符串信息,表单信息等。
注意:请求体④一般为发送的字符串信息,发送用户名和密码用于登录。
HTTP请求方法:
- get方法:一般用于信息获取、使用URL传递参数、对发送的信息数量有所限制,常用于查询,数据可见,一般在2000个字符(默认的HTTP请求方法)。
优势:因为数据通过URL传递,所以可以将其存放在书签里。
注意:get方法也叫幂等,即查询结果不受查询次数影响,例如查询一个员工信息1次和1000次,并不会随着查询次数的叠加而有所改变。 - post方法:一般用于修改服务器上的资源,常用于新建和修改数据等操作,数据不可见,被嵌入了HTTP请求体里,且对所发送信息的数量无限制。
- 区别:常用get方法做查询和获取操作,post方法做发送数据、新建修改数据等操作。
HTTP响应
HTTP 响应组成部分----->一个HTTP响应一般由3部分组成
5. 响应状态:一个数字和文字组成的状态码,用来显示请求是否成功;
6. 响应头:响应头和请求头一样,包含许多有用的信息(注意是服务器的信息),例如服务器类型、日期时间、内容类型和长度等
7. 响应体:响应正文,即服务器传过来的字符串、代码等。
HTTP 响应状态码
HTTP状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的3位数字代码
HTTP状态码由3位数字构成,其中首位数字定义了状态码的类型
主要包含以下几种:
- 1XX:信息类,表示收到web浏览器请求,(告诉客户端已经收到了请求)正在进一步处理中。
-
2XX:成功,表示用户请求被正确接收、理解和处理,例如200 OK。200–表示已经完成请求
3.3XX:重定向,表示请求没有成功,客户需要采取进一步处理。 - 4XX:客户端错误,表示客户提交的请求有错误,例如:404 NOT Found,意为请求中所引用的文档不存在(地址错误)。—404:表示文档/资源不存在
- 5XX:服务器错误,表示服务器不能完成对请求的处理,如500。
熟悉以上状态码,有助于开发调节的效率和准确性。
AJAX接收服务器返回信息
获取服务器响应内容前需要获取状态码
补充:JSON解析和序列化
JSON解析和序列化指的是JSON格式数据和普通数组对象格式的来回转换。
解析: 如果是载入的JSON文件,需要对其进行使用,那么就必须将JSON字符串解析成原生的JavaScript值。即将JSON字符串解析成原生JavaScript值。
序列化: 如果是原生的JavaScript值,即原生的JavaScript对象和数组,也可以转换成JSON字符串。所以序列化是将原生JavaScript值转换成JSON字符串。
JS解析和序列化
①去掉键的引号:JSON表示法中的键值对的键必须用引号包围,普通对象中键的引号则可有可无
②去除JSON数据两边的引号
JSON小结
(1)JOSN概念:以上即为JSON解析/反序列化和序列化过程,加载过程放到后续课程进行讲解。
很多人搞不清楚 JSON 和 JS对象的关系,甚至连谁是谁都不清楚。其实,可以这么理解:
JSON 是 JS 对象的字符串表示法,它使用文本表示一个 JS 对象的信息,本质是一个字符串。
(2)转换:JSON 和 JS 对象互转
(3)作用:存储和传递数据
(4)JSON方法:解析与序列化,解析也叫反序列化
完整代码: