CSDN话题挑战赛第2期
参赛话题:面试宝典

 

Aic山鱼与你一起学前端😊
🖱 ⌨个人主页:山鱼的个人主页

欢迎大家加入我的个人社区——山鱼社区
如果对你有帮助的话希望三连下👍⭐✍支持一下博主🌊

前言 

通过AJAX可以在浏览器中向服务器发送异步请求,最大的优势:无刷新获取数据。 AJAX不是新的编程语言,而是一种将现有的标准组合在一起使用的新方式。 全名Asynchronous Javascript And XML,就是使用JS代码获取服务器数据。Asynchronous(异步)synchronous(同步)XML被设计用来传输和存储数据。

1.如何设置express

(1)首先安装node.js

(2) win+r打开cmd 输入node空格 -v 查看版本号,有的话就成功了(注:要用管理员进行打开vscode) 当然也可以直接打开vscode查看

(3) 然后打开vscode 打开终端输入 npm init --yes

 (4)在安装这个express(成功了就会有这么俩文件,和一个node _modules )

 

 2.express的基本使用

// 1.引入express
const express = require('express');
// 2.创建应用对象
const app = express();
// 3.创建路由规则
// request是请求报文的封装
// response是响应报文的封装
app.get('/', (request, response) => {
// 4.设置响应
    response.send('HELLO EXPRESS')
});
// 5.监听端口启动服务
app.listen(8000, () => {
    console.log("服务已启动,8000 端口监听中.....");
})

 

3.举一个小🌰

要求:点击按钮发送请求,接过服务器返回的结果,然后呈现在div

// 引入express
const express = require('express');
// 创建应用对象
const app = express();
// 创建路由规则
// request是请求报文的封装
// response是响应报文的封装
app.get('/server', (request, response) => {
    // 设置响应头
    response.setHeader('Access-Control-Allow-Origin', '*');
    // 设置相应体
    response.send('HELLO AJAX');
});
// 监听端口启动服务
app.listen(8000, () => {
    console.log("服务已启动,8000 端口监听中.....");

})

然后在进行页面的书写和ajax的使用

onreadystatechange属性有五个值,分别是0 1 2 3 4
0 表示未始化最开始就是0,1表示open方法已调用完成,2表示send方法调用完毕,3表示服务端返回的部分结果4,服务端返回的所有结果 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        #result {
            width: 200px;
            height: 100px;
            background-color: violet;
            border: 1px solid black;
        }
    </style>
</head>

<body>
    <!-- 要求:点击按钮发送请求,接过服务器返回的结果,然后呈现在div -->
    <button>点击发送请求</button>
    <div id="result"></div>
    <script>
        // 获取元素
        const btn = document.getElementsByTagName('button')[0];
        const div = document.getElementById('result');
        btn.addEventListener('click', function () {
            // 进行ajax操作
            // 1.创建对象
            const xhr = new XMLHttpRequest();
            // 2.初始化 设置请求方法和url 的请求参数
            xhr.open('GET', 'http://localhost:8000/server?a=100&b=101&c=103')
            // 3.发送请求
            xhr.send();
            // 4.事件绑定,为了处理服务端返回的结果
            // onreadystatechange属性有五个值,分别是0 1 2 3 4
            // 0 表示未始化最开始就是0,1表示open方法已调用完成,2表示send方法调用完毕,3表示服务端返回的部分结果4,服务端返回的所有结果
            xhr.onreadystatechange = function () {
                // 判断服务器返回了所有的结果
                if (xhr.readyState === 4) {
                    // 判断响应状态码 是否为200-300之间,响应码分为200 404 403 401 500,200 - 300之间都是成功的
                    if (xhr.status >= 200 && xhr.status < 300) {
                        // 处理获取结果 行 头 体
                        console.log(xhr.status);// 状态码
                        console.log(xhr.statusText);// 状态字符串
                        console.log(xhr.getAllResponseHeaders());// 所有的相应头
                        console.log(xhr.response);// 响应体
                        // 把服务端拿过来的信息放到div中
                        div.innerHTML = xhr.response;
                    } else {
                        console.log('响应错误');
                    }
                }
            }
        })
    </script>
</body>

</html>

写在最后

我是Aic山鱼,感谢您的支持
​原 创 不 易 ✨还希望支持一下
点赞👍:您的赞赏是我前进的动力!
收藏⭐:您的支持我是创作的源泉!
评论✍:您的建议是我改进的良药!
山鱼🦈社区:山鱼社区💌💌

更多推荐