原生ajax
作者:互联网
Ajax 的原理简单来说通过 XmlHttpRequest 对象来向服务器发异步请求,从服务器获得数据,然后 ⽤ JavaScript 来操作 DOM ⽽更新⻚⾯
实现 Ajax 异步交互需要服务器逻辑进⾏配合,需要完成以下步骤:
1.创建一个ajax(XMLHttpRequest )对象
2.连接到服务器open
3.发送请求send
4.接收服务器返回值
HTTP常见状态码
状态码第⼀位数字决定了不同的响应状态,有如下:
1 表示消息 2 表示成功 3 表示重定向 4 表示请求错误 5 表示服务器错误
1xx
代表请求已被接受,需要继续处理。这类响应是临时响应,只包含状态⾏和某些可选的响应头信息,并 以空⾏结束
常⻅的有:
100(客户端继续发送请求,这是临时响应):这个临时响应是⽤来通知客户端它的部分请求已经 被服务器接收,且仍未被拒绝。客户端应当继续发送请求的剩余部分,或者如果请求已经完成,忽 略这个响应。服务器必须在请求完成后向客户端发送⼀个最终响应
101:服务器根据客户端的请求切换协议,主要⽤于websocket或http2升级
2xx
代表请求已成功被服务器接收、理解、并接受
常⻅的有:
200(成功):请求已成功,请求所希望的响应头或数据体将随此响应返回
201(已创建):请求成功并且服务器创建了新的资源 202(已创建):服务器已经接收请求,但尚未处理
203(⾮授权信息):服务器已成功处理请求,但返回的信息可能来⾃另⼀来源
204(⽆内容):服务器成功处理请求,但没有返回任何内容
205(重置内容):服务器成功处理请求,但没有返回任何内容
206(部分内容):服务器成功处理了部分请求
3xx
表示要完成请求,需要进⼀步操作。 通常,这些状态代码⽤来重定向
常见的有:
300(多种选择):针对请求,服务器可执⾏多种操作。 服务器可根据请求者 (user agent) 选择⼀ 项操作,或提供操作列表供请求者选择
301(永久移动):请求的⽹⻚已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求 的响应)时,会⾃动将请求者转到新位置
302(临时移动): 服务器⽬前从不同位置的⽹⻚响应请求,但请求者应继续使⽤原有位置来进⾏ 以后的请求
303(查看其他位置):请求者应当对不同的位置使⽤单独的 GET 请求来检索响应时,服务器返回 此代码
305 (使⽤代理): 请求者只能使⽤代理访问请求的⽹⻚。 如果服务器返回此响应,还表示请求 者应使⽤代理
307 (临时重定向): 服务器⽬前从不同位置的⽹⻚响应请求,但请求者应继续使⽤原有位置来进 ⾏以后的请求
4xx
代表了客户端看起来可能发⽣了错误,妨碍了服务器的处理
常⻅的有:
400(错误请求): 服务器不理解请求的语法
401(未授权): 请求要求身份验证。 对于需要登录的⽹⻚,服务器可能返回此响应。
403(禁⽌): 服务器拒绝请求
404(未找到): 服务器找不到请求的⽹⻚
405(⽅法禁⽤): 禁⽤请求中指定的⽅法
406(不接受): ⽆法使⽤请求的内容特性响应请求的⽹⻚
407(需要代理授权): 此状态代码与 401(未授权)类似,但指定请求者应当授权使⽤代理
408(请求超时): 服务器等候请求时发⽣超时
5xx
5xx 表示服务器⽆法完成明显有效的请求。这类状态码代表了服务器在处理请求的过程中有错误或者异常状 态发⽣
常⻅的有:
500(服务器内部错误):服务器遇到错误,⽆法完成请求
501(尚未实施):服务器不具备完成请求的功能。 例如,服务器⽆法识别请求⽅法时可能会返回 此代码
502(错误⽹关): 服务器作为⽹关或代理,从上游服务器收到⽆效响应
503(服务不可⽤): 服务器⽬前⽆法使⽤(由于超载或停机维护)
504(⽹关超时): 服务器作为⽹关或代理,但是没有及时从上游服务器收到请求
505(HTTP 版本不受⽀持): 服务器不⽀持请求中所⽤的 HTTP 协议版本
同源和跨域
跨域本质是浏览器基于同源策略的⼀种安全⼿段 同源策略(Sameoriginpolicy),是⼀种约定,它是浏览器最核⼼也最基本的安全功能
所谓同源(即指在同⼀个域)具有以下三个相同点 协议相同(protocol) 主机相同(host) 端⼝相同(port)
反之⾮同源请求,也就是协议、端⼝、主机其中⼀项不相同的时候,这时候就会产⽣跨域
标签:原生,请求,错误,响应,ajax,请求者,服务器,客户端 来源: https://blog.csdn.net/Z_gff/article/details/120616950