Ajax 的初步实现(使用vscode+node.js+express框架)


Posted in Javascript onJune 18, 2021

需求: 点击按钮 向服务端发送一个请求 然后将服务端返回的响应体结果在一个div中呈现出来 同时页面不刷新

一、 服务端的前期准备

安装node.js https://nodejs.org/en/download/

检验是否安装成功 : 在命令行输入 node -v 按下enter 键之后出现 版本号就表明安装成功 (图如下)

Ajax 的初步实现(使用vscode+node.js+express框架)

使用 vscode安装express (前提是你已经成功安装了node.js)

在 vscode 里面新建一个文件夹 文件下面包含俩个文件 一个是你的前端页面代码:.html另一个是准备的服务端代码 这里暂且为 server.js在目录文件最外层 点击在集成终端中打开

Ajax 的初步实现(使用vscode+node.js+express框架)

输入 npm init 进行初始化 输入包名后一直按 Enter 就行

Ajax 的初步实现(使用vscode+node.js+express框架)

5. 继续输入 npm i express 安装express 框架

Ajax 的初步实现(使用vscode+node.js+express框架)

6.文件目录下你会看到生成了 package-lock.json 文件 以及 node_modules 文件 此时说明你的框架安装好了

express的基本使用 (该js文件名为 express基本使用.js):
1 .

//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 端口监听中....");
	});

在集成终端中输入 node -express基本使用.js

Ajax 的初步实现(使用vscode+node.js+express框架)

3. 在浏览器中地址栏输入: http://127.0.0.1:8000/ 看到如下图 即服务端配置完成

Ajax 的初步实现(使用vscode+node.js+express框架)

二、 客户端的准备(前端代码 都引用了jquery来获取Dom元素

点击按钮 向服务端发送一个请求 然后将服务端返回的响应体结果在一个div中呈现出来 同时页面不刷新

使用原生的 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=, 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>

必须注意

Ajax 的初步实现(使用vscode+node.js+express框架)

三、 运行程序

在目录文件夹右键在集成终端中打开 输入: node server.js

Ajax 的初步实现(使用vscode+node.js+express框架)Ajax 的初步实现(使用vscode+node.js+express框架)

运行 html 代码

Ajax 的初步实现(使用vscode+node.js+express框架)

点击发送请求

Ajax 的初步实现(使用vscode+node.js+express框架)

注: 至此 Ajax 已基本实现 !!

为了方便执行js脚本代码 避免老是重复开启窗口 我们这里 还需安装 nodemon 安装方式与express 一样 在终端输入:npm install -g nodemon

Ajax 的初步实现(使用vscode+node.js+express框架)

如果你不想下载jquery引入 你可以在网页上输入 bootcdn https://www.bootcdn.cn/

Ajax 的初步实现(使用vscode+node.js+express框架)Ajax 的初步实现(使用vscode+node.js+express框架)Ajax 的初步实现(使用vscode+node.js+express框架)

注:为了防止报错前面添加 crossorign="anonymous"

以上就是Ajax 的初步实现(使用vscode+node.js+express框架)的详细内容,更多关于Ajax初步实现的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
JS异常处理的一个想法(sofish)
Mar 14 Javascript
JS远程获取网页源代码实例
Sep 05 Javascript
js清理Word格式示例代码
Feb 13 Javascript
Javascript 中创建自定义对象的方法汇总
Dec 04 Javascript
阿里云ecs服务器中安装部署node.js的步骤
Oct 08 Javascript
javascript iframe跨域详解
Oct 26 Javascript
AngularJs入门教程之环境搭建+创建应用示例
Nov 01 Javascript
使用JS读取XML文件的方法
Nov 25 Javascript
微信小程序中单位rpx和rem的使用
Dec 06 Javascript
angular forEach方法遍历源码解读
Jan 25 Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 Javascript
小程序识别身份证,银行卡,营业执照,驾照的实现
Nov 05 Javascript
帮你提高开发效率的JavaScript20个技巧
JavaScript实现贪吃蛇游戏
Vue过滤器(filter)实现及应用场景详解
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
Axios取消重复请求的方法实例详解
使用JS实现简易计算器
微信小程序实现聊天室功能
You might like
4月1日重磅发布!《星际争霸II》6.0.0版本更新
2020/04/09 星际争霸
模拟OICQ的实现思路和核心程序(二)
2006/10/09 PHP
PHP操作文件方法问答
2007/03/16 PHP
PHP中4个加速、缓存扩展的区别和选用建议
2014/03/12 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
PHP封装的mysqli数据库操作类示例
2019/02/16 PHP
csdn 博客的css样式 v3
2009/02/24 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
jquery 删除字符串最后一个字符的方法解析
2014/02/11 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
JavaScript中Date对象的常用方法示例
2015/10/24 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
Bootstrap标签页(Tab)插件使用方法
2017/03/21 Javascript
ReactNative之FlatList的具体使用方法
2017/11/29 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
2019/10/14 Javascript
python编码总结(编码类型、格式、转码)
2016/07/01 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
opencv python 傅里叶变换的使用
2018/07/21 Python
Flask框架学习笔记之路由和反向路由详解【图文与实例】
2019/08/12 Python
python实现对服务器脚本敏感信息的加密解密功能
2019/08/13 Python
Python3 虚拟开发环境搭建过程(图文详解)
2020/01/06 Python
解决python ThreadPoolExecutor 线程池中的异常捕获问题
2020/04/08 Python
HTML5里的placeholder属性使用实例和美化显示效果的方法
2014/04/23 HTML / CSS
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
详解如何获取localStorage最大存储大小的方法
2020/05/21 HTML / CSS
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
医药工作岗位求职信分享
2013/12/31 职场文书
感恩母亲节演讲稿
2014/05/07 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
休学证明范本
2015/06/19 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL