第一种用nodejs服务器
先安装nodejs
再使用express框架
1.初始化项目
npm init -y
2.安装express
npm i express
3.使用express创建服务端的规则。
//1. 引入express
const express = require('express');
//2. 创建应用对象
const app = express();
//3. 创建路由规则
// request 是对请求报文的封装
// response 是对响应报文的封装
app.get('/', (request, response) => {
//设置响应
response.send('HELLO EXPRESS 1');
});
app.post('/', (request, response) => {
//设置响应
response.send('HELLO EXPRESS 2');
});
app.all('/', (request, response) => {
//设置响应
response.send('HELLO EXPRESS 3');
});
//4. 监听端口启动服务
app.listen(8000, () => {
console.log("服务已经启动, 8000 端口监听中....");
});
4.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=, initial-scale=1.0">
<title>AJAX GET 请求</title>
<script src="../js/jquery-3.0.0.min.js"></script>
<style>
#result {
width: 200px;
height: 100px;
border: solid 1px red;
}
</style>
</head>
<body>
<button>发送请求</button>
<div id="result"></div>
</body>
<script>
// 1.获取元素 给按钮添点击事件
$('button').on('click', function () {
// alert(1);
// 2.创建对象
const xhr = new XMLHttpRequest();
// 3.初始化 设置请求方式 和url
xhr.open('GET', 'http://127.0.0.1:8000/server');
// 4.发送
xhr.send();
// 5.事件绑定 处理服务器返回的结果
xhr.onreadystatechange = function () {
// readystate 是 xhr 对象中的属性 有 0 1 2 3 4
// 判断(4 表示服务端返回了所有的结果)
if (xhr.readyState == 4) {
if (xhr.status >= 200 && xhr.status < 300) {
// 处理结果有: 行 头 空行 体
// 1.响应行
// 2.将响应体 返回到客户端页面中
$('div').html(xhr.response);
}
}
else {
}
}
})
</script>
</html>
5.
第二种原生ajax,不用任何
<!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>
<style>
#result{
width: 200px;
height: 100px;
border: solid 1px #90b;
}
</style>
</head>
<body>
<button>
点击显示数据
</button>
<div id="result"></div>
<script>
const btn = document.getElementsByTagName('button')[0];
const result = document.getElementById("result")
btn.onclick = function(){
const xhr = new XMLHttpRequest
xhr.open('GET','http://127.0.0.1:8111/all');
xhr.onreadystatechange = function(){
if(xhr.readyState===4&&xhr.status===200){
result.innerHTML = xhr.response
}
}
xhr.send();
}
</script>
</body>
</html>
第三种jQuery的方式
<!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>
<script src="jquery-3.6.0.js"></script>
<style>
#result {
width: 200px;
height: 100px;
border: solid 1px #90b;
}
</style>
</head>
<body>
<button>
点击显示数据
</button>
<div id="result"></div>
<script>
$(function () {
$('button').click(function () {
$.get('http://127.0.0.1:8111/all', function (data) {
// console.log(data.list[0])
// document.getElementById("result").innerHTML = data.list[0].id
var users = data.list
var str = ''
// 方式一,用${}和piao
// for (var i = 0; i < users.length; i++) {
// str += '<table><thead><tr><th>id</th><th>name</th> <th>password</th></tr> </thead><tbody><tr>' +
// `<td>${users[i].id}</td>` +
// `<td>${users[i].username}</td>` +
// `<td>${users[i].password}</td>` +
// '</tr></tbody></table>';
// }
// $("#result").html(str)
//方式二,用each
$.each(users,function(i,item){
str+='<table><thead><tr><th>id</th><th>name</th> <th>password</th></tr> </thead><tbody><tr>' +
'<td>'+item.id+'</td>' +
'<td>'+item.username+'</td>' +
'<td>'+item.password+'</td>' +
'</tr></tbody></table>';
})
//append是在原有基础上增加,html是替换
$("#result").append(str)
})
})
})
</script>
</body>
</html>
第四种axios
<!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>
<script src="axios.min.js"></script>
<style>
#result{
width: 200px;
height: 100px;
border: solid 1px #90b;
}
</style>
</head>
<body>
<button>
点击显示数据
</button>
<div id="result"></div>
<script>
const btn =document.getElementsByTagName("button")
axios.defaults.baseURL = 'http://127.0.0.1:8111'
btn[0].onclick=function(){
axios.get('/all')
.then(response=>{
console.log(response)
}).catch(error=>{
})
}
</script>
</body>
</html>