原生js写ajax请求(复习)
程序员文章站
2024-03-26 10:53:11
...
今天本地想测试一个接口,不想用框架想用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,到此结束,致敬我退却的记忆里......
更多专业前端知识,请上【猿2048】www.mk2048.com