学习JavaScript(8)AJAX请求方法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了学习JavaScript(8)AJAX请求方法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4425字,纯文字阅读大概需要7分钟。
内容图文
![学习JavaScript(8)AJAX请求方法](/upload/InfoBanner/zyjiaocheng/620/87cbdd038ff84484bcc6c8e67986f8da.jpg)
文章目录
前言
文章的ajax请求需要用到node创建的后端,一些ajax知识也可以参考
学习JavaScript(2)AJAX基础
学习JavaScript(7)node简易后端创建
请求方法
这里用的后端是前文创建的9000端口,需要配置说明可以参考前文
学习JavaScript(7)node简易后端创建
1、原生JavaScript
原生JavaScript需要以下几步重要操作,包括在绑定事件时对于readyState以及status的判断
1.创建对象
2.设置响应体数据类型
3.初始化 设置请求方法和url
4.发送
5.事件绑定 处理服务端返回结果
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<title>ajax 请求</title>
<style>
#result{
width: 200px;
height: 100px;
border: solid 2px violet;
}
</style>
<body>
<button onclick=ajax()>发送请求</button>
<div id="result"></div>
<script>
const res = document.getElementById("result");
const ajax = () => {
//1创建对象
const xhr = new XMLHttpRequest();
//设置响应体数据类型
xhr.responseType="json";
//2.初始化 设置请求方法和url
xhr.open("GET","http://127.0.0.1:9000/json-server");
//3.发送
xhr.send();
//4.事件绑定 处理服务端返回结果
xhr.onreadystatechange = function(){
//判断 服务器状态
if(xhr.readyState ===4){
//判断响应状态码
if(xhr.status >= 200 && xhr.status <300){
console.log(xhr.response)
res.innerHTML = xhr.response.name;
}
}
}
}
</script>
</body>
</html>
2、jQuery
代码使用script的cdn标签引入jQuery库
jQuery库可以使用$.get(), $.ajax(), $.ajax()方法。
其中 $.ajax()比较常用,需要确定请求方法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ajax 请求</title>
<style>
#result {
width: 200px;
height: 100px;
border: solid 2px violet;
}
</style>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js"></script>
</head>
<body>
<button onclick=ajax1()>发送请求get</button>
<button onclick=ajax2()>发送请求post</button>
<button onclick=ajax3()>发送请求ajax</button>
<div id="result"></div>
<script>
const res = document.getElementById("result");
const ajax1 = () => {
//$.get用的是get方法
$.get(
"http://127.0.0.1:9000/json-server",
{ a: 200, b: 200 },
(data) => {
console.log(data);
res.innerHTML = data.name;
},
"json"
)
}
const ajax2 = () => {
//$.post用的是post方法
$.post(
"http://127.0.0.1:9000/json-server",
{ a: 200, b: 200 },
(data) => {
console.log(data);
res.innerHTML = data;
},
"json"
)
}
const ajax3 = () => {
$.ajax({
url: "http://127.0.0.1:9000/json-server",
data: { a: 200, b: 300 },
type: "GET",
dataType: "json",
timeout: 2000,
success: (data) => {
console.log(data);
res.innerHTML = data.age;
},
})
}
</script>
</body>
</html>
3、axios
代码使用script的cdn标签引入axios库
axios可以使用axios.get(), axios.ajax(), axios.ajax()方法。
使用axios也是需要确定请求方法
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ajax 请求</title>
<style>
#result {
width: 200px;
height: 100px;
border: solid 2px violet;
}
</style>
<script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.0/axios.js"></script>
</head>
<body>
<button onclick=ajax1()>发送请求get</button>
<button onclick=ajax2()>发送请求post</button>
<button onclick=ajax3()>发送请求ajax</button>
<div id="result"></div>
<script>
const result = document.getElementById("result");
//设置baseURL
axios.defaults.baseURL = "http://127.0.0.1:9000"
const ajax1 = () => {
//使用axios.get方法
axios.get("/json-server",
{ params: { vip: 200, pp: 100 } })
.then(res => {
console.log(res);
result.innerHTML = res.data.name;
})
.catch(err => {
console.error(err);
})
}
const ajax2 = () => {
//使用axios.get方法
axios.post("/json-server", {
params: { vip: 200, pp: 100 },
headers: { a: 1, b: 2 }
})
.then(res => {
console.log(res);
result.innerHTML = res.data.color;
})
.catch(err => {
console.error(err);
})
}
const ajax3 = () => {
//使用axios方法
axios({
method: 'post',
url: "/json-server",
})
.then(res => {
console.log(res);
result.innerHTML = res.data;
})
.catch(err => {
console.error(err);
})
}
</script>
</body>
</html>
4、fetch()
fetch是原生js封装了XMLHttpRequest()的方法
一些语法上基于promise实现
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>ajax fetch 请求</title>
<style>
#result {
width: 200px;
height: 100px;
border: solid 2px violet;
}
</style>
</head>
<body>
<button onclick=ajax()>发送请求ajax</button>
<div id="result"></div>
<script>
const result = document.getElementById("result");
const ajax = () => {
fetch(
"http://127.0.0.1:9000/json-server?vip=200&&dd=100", {
method: "POST",
headers: {
cc: 200,
bb: 900
},
body: "name=chocolate&age=22"
})
//一个promise的链式语法接收json信息并进行引用
.then(
res => {
console.log(res);
return res.json();
}
).then(
res => {
console.log(res);
result.innerHTML = res.name;
}
)
}
</script>
</body>
</html>
总结
个人学习笔记,每天进步多一点
内容总结
以上是互联网集市为您收集整理的学习JavaScript(8)AJAX请求方法全部内容,希望文章能够帮你解决学习JavaScript(8)AJAX请求方法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。