原生js写ajax请求(复习)
ajax,js
今天本地想测试一个接口,不想用框架想用js快速完成,突然发现,我居然忘了这个最基本的代码。好吧,只能复习一波。
在框架泛滥的今天,用惯$.ajax(),axios,superAgent等框架的你们,还能清晰记得原生ajax的写法吗?
XMLHttpRequest 对象
先来复习一下XMLHttpRequest 对象,
方 法 | 描 述 |
abort() | 停止当前请求 |
getAllResponseHeaders() | 把HTTP请求的所有响应首部作为键/值对返回 |
getResponseHeader(“header”) | 返回指定首部的串值 |
open(“method”,”URL”,[asyncFlag],[“userName”],[“password”]) | 建立对服务器的调用。method参数可以是GET、POST或PUT。url参数可以是相对URL或绝对URL。这个方法还包括3个可选的参数,是否异步,用户名,密码 |
send(content) | 向服务器发送请求 |
setRequestHeader(“header”, “value”) | 把指定首部设置为所提供的值。在设置任何首部之前必须先调用open()。设置header并和请求一起发送 (\’post\’方法一定要 ) |
五步使用
1.创建XMLHTTPRequest对象
2.使用open方法设置和服务器的交互信息
3.设置发送的数据,开始和服务器端交互
4.注册事件
5.更新界面
GET请求
1 //步骤一:创建异步对象 2 var ajax = new XMLHttpRequest(); 3 //步骤二:设置请求的url参数,参数一是请求的类型,参数二是请求的url,可以带参数,动态的传递参数starName到服务端 4 ajax.open(\'get\',\'getStar.php?starName=\'+name); 5 //步骤三:发送请求 6 ajax.send(); 7 //步骤四:注册事件 onreadystatechange 状态改变就会调用 8 ajax.onreadystatechange = function () { 9 if (ajax.readyState==4 &&ajax.status==200) { 10 //步骤五 如果能够进到这个判断 说明 数据 完美的回来了,并且请求的页面是存在的 11 console.log(xml.responseText);//输入相应的内容 12 } 13 }
POST请求
1 //创建异步对象 2 var xhr = new XMLHttpRequest(); 3 //设置请求的类型及url 4 //post请求一定要添加请求头才行不然会报错 5 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 6 xhr.open(\'post\', \'02.post.php\' ); 7 //发送请求 8 xhr.send(\'name=fox&age=18\'); 9 xhr.onreadystatechange = function () { 10 // 这步为判断服务器是否正确响应 11 if (xhr.readyState == 4 && xhr.status == 200) { 12 console.log(xhr.responseText); 13 } 14 };
ok,到此结束,致敬我退却的记忆里……