ajax之生成一个ajax的demo示例

目录

[一. node.js和express](#一. node.js和express)

[​二. 使用express创建后端服务](#二. 使用express创建后端服务)

[三. 创建前端](#三. 创建前端)


一. node.js和express

ajax是前端在不刷新的情况下访问后端的技术,所以首先需要配置一个后端服务,可以使用node.js和express。

首先生成一个空项目,新建main目录,如图所示。

下载安装node就不演示了。

接下来使用node安装express,直接在终端输入npm i express即可,该java包会下载到项目根目录下的node_modules目录中(可以看到项目下多了node_modules目录和package.json和package_lock.json,这些是node安装了包后就会自动创建的,不用管)

二. 使用express创建后端服务

  1. 使用require导入express
  2. const app = express()创建app
  3. 使用app.get对前端的url请求生成相应的回调函数
  4. 使用app.listen开启服务进行监听
  5. 在终端输入node ××.js开启服务

如下图所示,特别要注意需要使用res.setHeader()开启跨域访问

三. 创建前端

首先创建按钮和展示框,如图所示

接下来编写ajax请求和处理代码

  1. 使用const xhr = new XMLHttpRequest()生成示例对象,使用该对象发送请求和处理回复
  2. 使用xhr.open('GET', 'http://localhost:8080/hello')配置请求url
  3. 使用xhr.send()发送请求
  4. 使用xhr.onreadystatechange = function(){}绑定回调函数,当xhr的readyStage属性变化的时候,就会触发该回调函数。xhr的readyStage属性有0,1,2,3,4五个值,当为0时,表示xhr刚创建,当为1时,表示已经执行open函数,当为2时,表示已经使用send发送请求,当为3时,表示已经部分返回,当为4时,表示已经全部返回

具体代码如下图所示,这里还有一个注意点,xhr.status是返回的状态码,如果状态码在200到300之间,都表示返回成功。

最后效果如下

相关推荐
uhakadotcom8 分钟前
execjs有哪些常用的api,如何逆向分析网站的加签机制
前端·javascript·面试
闲蛋小超人笑嘻嘻1 小时前
find数组方法详解||Vue3 + uni-app + Wot Design(wd-picker)使用自定义插槽内容写一个下拉选择器
前端·javascript·uni-app
小牛itbull1 小时前
初始化electron项目运行后报错 electron uninstall 解决方法
前端·javascript·electron
rggrgerj2 小时前
Vue3 组件完全指南代码
前端·javascript·vue.js
在逃的吗喽4 小时前
Vue3新变化
前端·javascript·vue.js
Demoncode_y5 小时前
Vue3中基于路由的动态递归菜单组件实现
前端·javascript·vue.js·学习·递归·菜单组件
Never_Satisfied5 小时前
在JavaScript / HTML中,浏览器提示 “Refused to execute inline event handler” 错误
开发语言·javascript·html
Never_Satisfied5 小时前
在JavaScript / HTML中,事件监听的捕获和冒泡阶段解析
开发语言·javascript·html
岁月宁静6 小时前
🎨 打造 AI 应用的 “门面”:Vue3.5 + MarkdownIt 实现高颜值、高性能的答案美化组件
前端·javascript·vue.js
liaojuajun7 小时前
可视化地图
开发语言·javascript·ecmascript