使用原生javascript发送ajax请求教程

AJAX即“Asynchronous Javascript And XML”(异步的JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,用于浏览器和服务器之间进行数据交互。AJAX在浏览器与Web服务器之间使用异步数据传输(HTTP请求),这样就可使网页从服务器请求少量的信息,而不是整个页面。AJAX描述了一种主要使用脚本操作HTTP的Web应用架构,AJAX应用的主要特点是使用脚本操纵HTTP和Web服务器进行数据交换,不会导致页面重载。

1.无参get请求

//1.创建请求对象
const xhr = new XMLHttpRequest()

//2.配饰请求方法,设置请求接口地址
//这里我以木小果接口来测试,如果接口无法使用,各位小伙伴可以自行到木小果中获取接口
xhr.open('get','https://api.muxiaoguo.cn/api/tiangourj?api_key=52d76d5180dbb87d')

//3.发送请求
xhr.send()

//4.网络请求返回的数据
// xhr.readystate===4代表响应完成了,xhr.status === 200 代表请求成功
        request.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
          var res = JSON.parse(xhr.responseText).data
          console.log(res)
        }
      }

2.有参get请求

使用Qs前需对其进行引入

<script src="https://cdn.bootcdn.net/ajax/libs/qs/6.11.0/qs.min.js"></script>
// 创建请求对象
var request = new XMLHttpRequest()
// 配置请求方法,设置请求接口地址
// 在此之前,先说明一下,get传参的方式有两种
// 方式1:拼接字符串
// request.open('get', 'https://api.muxiaoguo.cn/api/tianqi?api_key=60c9c7f9e9852d7e&type=1' + '&city=' + cityName)
// 方式2:封装参数对象
      var params = {
        api_key: '60c9c7f9e9852d7e',
        type: 1,
        city: cityName
      }
// Qs.stringify将对象转成查询字符串
  request.open('get', 'https://api.muxiaoguo.cn/api/tianqi?' + Qs.stringify(params))
  request.send()
// 获取网络请求响应的数据
request.onreadystatechange = function () {
 // 响应完毕,并且请求成功
  if (request.readyState === 4 && request.status === 200) {
          var res = JSON.parse(request.responseText)
          var temp = res.data.temp
          alert('您所查询的城市当前气温是:' + temp + '摄氏度')
        }
      }

3.无参post请求

//1.创建请求对象
const xhr = new XMLHttpRequest()

//2.配饰请求方法,设置请求接口地址
xhr.open('post','请求接口地址')

//3.发送请求
xhr.send()

//4.网络请求返回的数据
// xhr.readystate===4代表响应完成了,xhr.status === 200 代表请求成功
        request.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
          var res = JSON.parse(xhr.responseText).data
          console.log(res)
        }
      }

4.有参post请求

        // 1.创建一个实例对象
        var xhr = new XMLHttpRequest()
        // 2.打开一个连接
        // 需要传递json
        var obj = {
          username: 'admin1',
          password: '123321'
        }
        xhr.open('post', 'http://8.130.49.254:8888/user/login');
        // 设置请求头 告诉后端我们要发送的是什么格式的数据
        xhr.setRequestHeader('Content-Type', 'application/json')
        // 3.发送请求
        // 二、给后端发送json数据
        xhr.send(JSON.stringify(obj))
        // 4.接收响应
        xhr.onreadystatechange = function () {
          // 请求发送完成 请求成功
          if (xhr.readyState === 4 && xhr.status === 200) {
            // console.log(xhr.responseText);//json格式数据
            var res = JSON.parse(xhr.responseText)
            console.log(res);
            // setItem 会话存储的方法 参数:属性名 属性值
            sessionStorage.setItem('token', res.data.token)
          }
        }
      }

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值