🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 简述原生ajax请求过程,get和post的区别 ~~~ // ajax 提交 post 请求的数据 // 1. 创建核心对象 var xhr = new XMLHttpRequest(); // 2. 准备建立连接 xhr.open("POST", "register.php", true); // 3. 发送请求 // 如果要POST提交数据,则需要设置请求头 xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); // 发送数据 xhr.send(querystring); // 4. 处理响应 xhr.onreadystatechange = function () { if (xhr.readyState === 4) { // 请求处理完毕,响应就绪 if (xhr.status === 200) { // 请求成功 var data = xhr.responseText; console.log(data); } } } ~~~ ## 面试官爱问的问题 **注意一:open 的参数要牢记**面试官最爱问这个问题 method:请求的类型;GET 或 POST url:文件在服务器上的位置,相对位置或绝对位置 async:true(异步)或 false(同步) 为什么使用 Async=true ? 我们的实例在 open() 的第三个参数中使用了 "true"。 该参数规定请求是否异步处理。 True 表示脚本会在 send() 方法之后继续执行,而不等待来自服务器的响应。 \*\* 注意二:post请求不同于get请求 \*\* send(string)方法post请求时才使用字符串参数,否则不用带参数。 如果是get直接将参数存入url里面,send() 里面不带参数 \*\* 注意三:post请求一定要设置请求头的格式内容\*\*