ajax基础
闲岁️
这个作者很懒,什么都没留下…
展开
-
使用ajax进行前后端通信时的状态(status)分类以及常用的状态码
状态主要分为:信息 =》100-101成功 =》200-206重定向 =》300-307客户端错误 =》400-417服务器错误 =》500-505常用的状态码主要有:消息描述200 OK请求成功(其后是对GET和POST请求的应答文档。)304 Not Modified未按预期修改文档。客户端有缓冲的文档并发出了一个条件性的请求(一般是提供If-Modified-Since头表示客户只想比指定日期更新的文档)。服务器告诉客户,原来缓冲的文档还可以维续使用。原创 2020-11-07 20:24:50 · 115 阅读 · 0 评论 -
使用ajax进行前后端通信时常见的事件
timeout:当进度由于预定时间到期而终止时,会触发timeout (超时)事件。request.addEventListener(“timeout”,timeoutHandler);loadstart:当程序开始加载时,loadstart 事件将被触发。也适用于 <img> 和 <video> 元素。Progress:进度事件会被触发用来指示一个操作正在进行中。loaded 当前加载字节total 总字节abort:当一个资源的加载已中止时,..原创 2020-11-07 20:08:25 · 172 阅读 · 0 评论 -
ajax前后端通信之超时与断开
当进行前后端通信时,如果响应没有设置结束导致请求一直处于被挂起的状态,或者超出了我们设置的时间,就会发生通信超时。我们可以通过设置请求的 timeout属性 来设置超时时间:request.timeout = 2000;超时时间必须设置在open方法执行以后,send方法执行之前。当超时发生时, timeout事件 将会被触发。request.addEventListener(“timeout”,timeoutHandler);当超时发生以后,我们需要断开通信连接,这时需要使用abort原创 2020-11-07 19:55:19 · 1099 阅读 · 0 评论 -
ajax前后端通信之readyState简析与应用
readyStatereadyState取不同值时对应的状态及含义:值状态描述0UNSENT代理被创建,但尚未调用open()方法。1OPENEDopen()方法已经被调用。2HEADERS_RECEIVEDsend()方法已经被调用,并且头部和状态已经可获得。3LOADING下载中; responseText属性已经包含部分数据。4DONE下载操作已完成。简单应用:我们可以在使用ajax进行前后端通信时,侦听"readystat原创 2020-11-07 19:43:28 · 387 阅读 · 0 评论 -
综合使用ajax和Promise进行前后端通信示例
// 定义ajax函数,url是要通信的目标地址,data是要传递的数据,type是通信方式(get/post)function ajax(url, data, type = "get") { // 将传入的通信方式转换为大写格式 type = type.toUpperCase(); // 将数据data转换为JSON字符串 data = JSON.stringify(data); // 根据type的值是否是"GET",决定o的值应该设置为null还是data var o = type ==原创 2020-11-07 19:33:52 · 140 阅读 · 0 评论 -
使用ajax进行前后端通信时的跨域问题
前后端通信跨域:当页面地址和服务端通信地址的ip或端口不同时,就发生了跨域,这时需要服务端允许跨域以后,才能正常访问服务端。解决方法:在服务端的响应头中设置 “Access-Control-Allow-Origin”: “*” 即可解决这个问题。请求头跨域:如果请求头发生修改并且非同源,就需要申请请求头跨域。比如上传的数据类型不是默认的文本类型时,这时会自动修改请求头,那么就会发生请求头跨域,这时我们就需要允许请求头的改变。解决办法:在服务端的响应头中设置 “Access-Control-All原创 2020-11-06 22:37:09 · 143 阅读 · 0 评论 -
ajax前后端通信的头部消息之请求头与响应头
前后端在通信时,互相发送的消息包括头部消息和主体数据,而头部消息分为请求头和响应头两种。请求头是前端发送,服务端获取。响应头是服务端发送,前端获取。设置请求头的规则:请求头设置必须在open方法之后,send方法之前。请求头可以自定义设置,但是必须在非同源时,服务器允许请求头跨域。自定义请求头可以包含一些数据解析的信息,因为请求优先于数据到达服务端。【这样就可以让服务端根据收到的请求头采取相应的方式处理收到的数据】设置请求头的格式:设置请求头时需要先创建一个XMLHttpRequest对原创 2020-11-06 22:29:41 · 1579 阅读 · 0 评论 -
ajax前端向后端发送数据所使用的send方法参数详解
send方法可以发送的数据的类型有如下几种:不发数据(ArrayBuffer data):类型化数组 => 加密(Blob data):二进制大对象 Blob(Document data):文档格式 => html文档和xml格式文档(DOMString? data):文本(FormData data)表单对象 FormData => 可以直接封装内容类型化数组类型化数组,即ArrayBu原创 2020-11-06 21:53:27 · 2740 阅读 · 2 评论 -
ajax前端向后端发送数据所使用的open方法参数详解
ajax发送消息的open方法共有5个参数:发送方式,目标地址,是否异步,用户名,密码。XMLHttpRequest.open(method: string, url: string, async: boolean, username?: string, password?: string)Method:GET POST PUT DELETE【PUT和DELETE是直接操作服务器的websql数据,这种方式是非常不安全的,所以我们一般不用】URL:纯地址: (http/https)原创 2020-11-06 20:23:37 · 2648 阅读 · 0 评论 -
网络通信中的GET和POST两种基本请求方法的区别
GET在浏览器回退时是无害的,而POST会再次提交请求。GET产生的URL地址可以被Bookmark(即可以被记录获取到),而POST不可以。GET请求会被浏览器主动cache,而POST不会,除非手动设置。【如果想要GET不产生cache,就要在GET请求的url后面加上 time=时间戳 这样一个参数】GET请求只能进行url编码,而POST支持多种编码方式。GET请求参数会被完整保留在浏览器历史记录里,而POST中的参数不会被保留。GET请求在URL中传送的参数是有长度限制的,而POST没.原创 2020-11-06 20:08:08 · 365 阅读 · 0 评论 -
互联网通信中常用的两种策略
同源策略:当使用ajax通信时,如果页面地址和服务端通信地址的ip或端口不同,就属于跨域。安全策略:要求浏览器不能直接保存本地文件,不能直接获取本地文件原创 2020-11-06 20:06:24 · 193 阅读 · 0 评论