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 相关文章推荐
window.name代替cookie的实现代码
Nov 28 Javascript
jquery实现奇偶行赋值不同css值
Feb 17 Javascript
JQUERY 获取IFrame中对象及获取其父窗口中对象示例
Aug 19 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
Nov 12 Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
May 28 Javascript
JavaScript关联数组用法分析【概念、定义、遍历】
Mar 15 Javascript
js a标签点击事件
Mar 30 Javascript
javascript 面向对象实战思想分享
Sep 07 Javascript
React-Native使用Mobx实现购物车功能
Sep 14 Javascript
一步步教你利用Canvas对图片进行处理
Sep 19 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
微信小程序 scroll-view的使用案例代码详解
Jun 11 Javascript
帮你提高开发效率的JavaScript20个技巧
JavaScript实现贪吃蛇游戏
Vue过滤器(filter)实现及应用场景详解
GitHub上77.9K的Axios项目有哪些值得借鉴的地方详析
Axios取消重复请求的方法实例详解
使用JS实现简易计算器
微信小程序实现聊天室功能
You might like
PHP脚本的10个技巧(8)
2006/10/09 PHP
有关 PHP 和 MySQL 时区的一点总结
2008/03/26 PHP
PHP判断远程图片是否存在的几种方法
2014/05/04 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
2014/09/10 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
js遍历子节点子元素附属性及方法
2014/08/19 Javascript
jQuery实现向下滑出的二级菜单效果实例
2015/08/22 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
jquery实现多条件筛选特效代码分享
2015/08/28 Javascript
常用的JQuery函数及功能小结
2016/03/24 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
Angular2安装angular-cli
2017/05/21 Javascript
获取url中用&amp;隔开的参数实例(分享)
2017/05/28 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
webpack中的热刷新与热加载的区别
2018/04/09 Javascript
JS实现的类似微信聊天效果示例
2019/01/29 Javascript
Vue-cli3简单使用(图文步骤)
2019/04/30 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
python实现挑选出来100以内的质数
2015/03/24 Python
Python实现的简单hangman游戏实例
2015/06/28 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
pandas多级分组实现排序的方法
2018/04/20 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
python获取时间戳的实现示例(10位和13位)
2020/09/23 Python
CSS3之边框多颜色Border-color属性使用示例
2013/10/11 HTML / CSS
全面解析HTML5中的标准属性与自定义属性
2016/02/18 HTML / CSS
开普敦通行证:Cape Town Pass
2019/07/18 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
我的老师教学反思
2014/05/01 职场文书
英语教师求职信范文
2015/03/20 职场文书
结婚典礼主持词
2015/06/29 职场文书
新郎父母婚礼致辞
2015/07/27 职场文书
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js