原生js写ajax请求(复习)

Posted WangEddy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原生js写ajax请求(复习)相关的知识,希望对你有一定的参考价值。

今天本地想测试一个接口,不想用框架想用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,到此结束,致敬我退却的记忆里......

 

以上是关于原生js写ajax请求(复习)的主要内容,如果未能解决你的问题,请参考以下文章

原生js的ajax

原生js写ajax-demo

用原生JavaScript写AJAX

原生 JS Ajax,GET和POST 请求实例代码

原生js 封装ajax请求超详细

JS原生Ajax