【Ajax入门技术】原生AJAXexpress的基本使用,进行不刷新页面获取到数据

简介: 【Ajax入门技术】原生AJAXexpress的基本使用,进行不刷新页面获取到数据

前言


通过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>
目录
相关文章
|
2月前
|
XML 前端开发 JavaScript
PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑
本文深入探讨了PHP与Ajax在Web开发中的交互技术。PHP作为服务器端脚本语言,处理数据和业务逻辑;Ajax则通过异步请求实现页面无刷新更新。文中详细介绍了两者的工作原理、数据传输格式选择、具体实现方法及实际应用案例,如实时数据更新、表单验证与提交、动态加载内容等。同时,针对跨域问题、数据安全与性能优化提出了建议。总结指出,PHP与Ajax的结合能显著提升Web应用的效率和用户体验。
70 3
|
3月前
|
前端开发 JavaScript
回顾前端页面发送ajax请求方式
回顾前端页面发送ajax请求方式
47 18
|
3月前
|
Web App开发 前端开发 JavaScript
Python编程—Ajax数据爬取(一)
Python编程—Ajax数据爬取(一)
76 0
|
3月前
|
前端开发 NoSQL MongoDB
Python编程—Ajax数据爬取(二)
Python编程—Ajax数据爬取(二)
123 0
|
4月前
|
JSON 前端开发 数据格式
layui 穿梭框transfer组件 数据data用ajax来获取
layui 穿梭框transfer组件 数据data用ajax来获取
268 2
|
5月前
|
JSON 前端开发 JavaScript
Django入门到放弃之ajax
Django入门到放弃之ajax
|
5月前
|
XML JSON 前端开发
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
AJAX是什么?原生语法格式?jQuery提供分装好的AJAX有什么区别?
41 0
|
7月前
|
数据采集 Web App开发 前端开发
技术心得记录:如何用JAVA爬取AJAX加载后的页面(转载)
技术心得记录:如何用JAVA爬取AJAX加载后的页面(转载)
N..
|
8月前
|
XML JSON 前端开发
jQuery实现Ajax
jQuery实现Ajax
N..
82 1
|
8月前
|
XML 前端开发 JavaScript
jQuery中ajax如何使用
jQuery中ajax如何使用
108 0