原生JS发送Ajax
1.原生JS发送 GET 请求:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="box"></div>
</body>
<script>
// 原生js利用XMLHttpRequest对象
// 发送get请求
const xhr = new XMLHttpRequest
xhr.onloadend = function () {
// 接收请求后端返回的数据
let result = xhr.responseText
// console.log(result);
// 由于大部分接口返回的数据都是JSON格式,所以需要转化
const data = JSON.parse(result)
console.log(data); // 可查看转化后的数据
const box = document.querySelector(".box")
// 将数据渲染到页面
box.innerHTML = data.result.text
}
// 设置发送方式以及api,参数等,该接口仅作演示,这里参数为sid
xhr.open("get", 'https://api.apiopen.top/getSingleJoke?sid=28654780')
xhr.send(null)
</script>
</html>
2.原生JS发送 POST 请求:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<div class="box"></div>
</body>
<script>
// 发送post请求
const xhr = new XMLHttpRequest
xhr.onloadend = function () {
// 接收请求后端返回的数据
let result = xhr.responseText
// console.log(result);
// 由于大部分接口返回的数据都是JSON格式,所以需要转化
const data = JSON.parse(result)
console.log(data); // 可查看转化后的数据
const box = document.querySelector(".box")
// 将数据渲染到页面
box.innerHTML = data.result.text
}
// 设置发送方式以及api
xhr.open("post", 'https://api.apiopen.top/getSingleJoke')
// post方式要设置请求头
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
// 参数设置在send里面,参数+值
xhr.send("sid=" + encodeURIComponent(28654780))
</script>
</html>
原生js发送请求会存在跨域问题,除非接口支持跨域,才能请求到数据,该接口支持跨域,可以正常使用
更多推荐
前端发送Ajax请求数据的几种常见方法(一) 原生JS发送
发布评论