fetch是浏览器原生的函数,不需要像原生AJAX新建实例就可以用于发送AJAX请求。
支持Promise获取异步的HTTP响应,和支持流式获取。
服务端代码
// 服务端准备
// 1、引入express
const express = require('express');
// 2、创建应用对象
const app = express()
// 3、创建路由规则
// request是对请求的封装
// response是对响应的封装
app.all('/server',(request,response)=>{// 设置响应头:设置运行跨域response.setHeader('Access-Control-Allow-Origin','*');response.setHeader('Access-Control-Allow-Headers','*');// 第一步:设置发给客户端的JSON格式数据var data={code:200,msg:"成功"}// 第二步:由于response.send()只能发送字符串,所以要把JSON转换成字符串data = JSON.stringify(data)// 第三步:发送数据response.send(data);
});
// 4、监听端口的启动服务
app.listen(8000,()=>{console.log("服务已启动,8000端口监听中...");
})// 5、启动服务,终端输入: node server.js基本使用.js ,启动之后在浏览器输入127.0.0.1:8000
客户端代码
fetch('http://127.0.0.1:8000/server', {// 请求方法method: 'POST',// 请求头headers: {name: 'CUYG'},// 请求体body: 'username=admin&password=admin'}).then(res => {// 返回的是promise对象// console.log(res);// 字符串形式// console.log(res.text());// JSON形式console.log(res.json());}).catch(err=>{console.log(err);})
注意
否则会出现以下报错