这个fetch函数是属于全局对象的,可以直接去调用。
首先我们先在服务端修改一段代码给fetch请求
//省略部分内容...//fetch服务app.all('/fetch-server',(request,response)=>{//设置响应头 设置允许跨域(第一次接触Ajax,不需要完全理解代码)response.setHeader('Access-Control-Allow-Origin','*');//允许接收所有类型的响应头response.setHeader('Access-Control-Allow-Headers','*');const data = {"name": "yuque"};let str = JSON.stringify(data);//设置响应体response.send(str);})
fetch函数的参数如图
下面在前端代码中演示fetch函数的使用
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><button>fetch发送ajax请求</button><script>const btn = document.querySelector('button');btn.onclick = function(){//url中需要参数可以直接添加fetch("http://127.0.0.1:8000/fetch-server??id=123&vip=10",{//请求方法method: "POST",//请求头headers:{name:"abc"},//请求体body: "username=1313&password=sdadsads"}).then(response => {console.log(response);})}</script></body></html>
这样就可以在控制台看到响应的结果。

但是如果我们想获取响应体就不能直接获取,需要使用text()方法,如下:
btn.onclick = function(){fetch("http://127.0.0.1:8000/fetch-server?id=123&vip=10",{//请求方法method: "POST",//请求头headers:{name:"abc"},//请求体body: "username=1313&password=sdadsads"}).then(response => {//这里返回text()方法return response.text();}).then(response => {//再次调用then,这时response中就是响应体结果了console.log(response);})}
这时来到浏览器中,可以看到确实输入了响应体结果。

如果返回的是JSON对象,我们可以使用
return response.json();方法,这样就会自动转换为js对象了。

