当前位置: 首页 > article >正文

前端(Ajax)

1.客户端请求

向https://jsonplaceholder.typicode.com/users发送get请求

const xhr = new XMLHttpRequest();
console.log(xhr.readyState);
xhr.open(‘get’, ‘https://jsonplaceholder.typicode.com/users’)
console.log(xhr.readyState);
xhr.send();
console.log(xhr.readyState);
xhr.onreadystatechange = function(){
console.log(xhr.readyState);
if(xhr.readyState === 4){
if(xhr.status >= 200 && xhr.status < 300){
console.log(‘状态码’, xhr.status); // 状态码
console.log(‘状态字符串’, xhr.statusText); // 状态字符串
console.log(‘所有响应头’, xhr.getAllResponseHeaders()) // 所有响应头
console.log(‘响应体’, xhr.response) // 响应体

  }
 }
} 

请求结果

2.自定义服务器步骤

1.下载node(Node.js — 在任何地方运行 JavaScript)

2.配置node环境变量(win+r:cmd:可以检测node是否安装成功)

3.在项目目录下下载express执行npm i express命令

准备服务端脚本

let express=require(“express”);
let app=express()
app.get(“/”,(req,res)=>{

})
app.listen(9545,()=>{
console.log(“9545端口已经启动***”)
})

服务端启动命令

nodemon Server.js脚本名称

启动成功截图

3.客户端和服务端互相转数据

get类型

客户端->服务端

客户端转入name="李四"服务端调用req.query进行客户端数据查看

服务端->客户端

需要解决跨域问题

res.setHeader(‘Access-Control-Allow-Origin’, ‘*’); // 或者指定特定的域名
res.setHeader(‘Access-Control-Allow-Methods’, ‘GET, POST, OPTIONS, PUT, PATCH, DELETE’);
res.setHeader(‘Access-Control-Allow-Headers’, ‘X-Requested-With,content-type’);

客户端获取响应数据

let xhr=new XMLHttpRequest ();
xhr.open(“get”,“http://localhost:9545”)
xhr.send();
xhr.onreadystatechange=function(){
if(xhr.readyState==4){
console.log(xhr.response);
}
}

post类型

客户端->服务端

发送json格式数据

服务端接收json数据需要进行处理

const bodyParser = require(‘body-parser’);

// 配置 body-parser
// 使用 body-parser 中间件解析请求体
app.use(bodyParser.urlencoded({ extended: true })); // 解析 application/x-www-form-urlencoded
app.use(bodyParser.json()); // 解析 application/json

接收结果


http://www.kler.cn/a/459346.html

相关文章:

  • 深入理解 MySQL 的性能调优策略
  • 读“2024 A16Z AI 应用精选清单”有感——2025AI执行力之年
  • HP 电脑开机黑屏 | 故障判断 | BIOS 恢复 | BIOS 升级
  • JAVA类和对象练习
  • RIP配置实验
  • 深入理解 Android 中的 ApplicationInfo
  • 日本东京阿里云200M不限流量轻量云主机测试报告
  • 如何利用云计算进行灾难恢复?
  • 发表文章去哪里投稿?软文推广常见的几种渠道类型
  • NAT 技术如何解决 IP 地址短缺问题?
  • 【项目日记(9)】项目整体测试,优化以及缺陷分析
  • 计算机网络 (15)宽带接入技术
  • 基于Python实现车辆检测、机动车检测、识别位置标记、计数
  • STM32-笔记22-sg90舵机
  • 雷军:科技传奇的逐梦之旅
  • ArrayList和LinkedList的区别是什么?
  • 支持最新 mysql9的workbench8.0.39 中文汉化教程来了
  • Selenium 浏览器驱动代理 - 无需下载本地浏览器驱动镜像!(Python 版本!)
  • 3.从制定标准到持续监控:7个关键阶段提升App用户体验
  • 【Python高级374】正则表达式
  • 深入解析MySQL索引结构:从数组到B+树的演变与优化
  • 【2024年-8月-6日-开源社区openEuler实践记录】ChatIG:开启智能交互新体验的开源项目
  • 21. 【.NET 8 实战--孢子记账--从单体到微服务】--简易权限--补充--自动添加角色可访问接口
  • Unity WebGL 部署IIS
  • SQL 实战:基于经纬度的距离计算与位置查询
  • 爬虫后的数据处理与使用(处理篇)