fetch基于promise替代ajax请求的函数(不需要引入)

news/2024/7/19 14:39:19 标签: fetch, js, nodejs
/*fetch请求*/
	<!DOCTYPE html>
	
	<html>
		<head>
			<meta charset="utf-8">
			<title>fetch</title>
		</head>
		<body>
			<button id="btn">提交</button>
			<button id="btnpost">post提交</button>
		</body>
	</html>
	<script type="text/javascript">
		let btn = document.getElementById("btn");
		let btnpost = document.getElementById("btnpost");
		btn.onclick = function(){
			/*
				fetch第一个then中返回的数据不是需要处理的请求数据,
				是服务端返回的所有请求信息,在此信息中,有一个隐式原型,
				隐式原型里有json()方法,只有通过执行json(),才可以获取
				需要的信息,通常都是把json()方法的执行结果,传递给
				下一个then来处理
			*/
			fetch('./js/data.json').then(res=>{
				console.log(res);
				return res.json();
			}).then(res=>{
				console.log(res);
			});
		};
		/*
		fetch post提交,必须把要提交的数据进行序列化
		*/ 
		btnpost.onclick = function(){
			let data={
				name:'愚公',
				age:70,
				job:'刨山'
			};
			let config = {
				method:"POST", //设置post请求
				body: JSON.stringify(data), //必须配置headers
				的content-type为application/json
				headers:{
					'content-type':'application/json'
				},
				mode:'cors' //设置为跨域模式,意思是从不同的域请求数据
			};
			
			fetch('http://127.0.0.1:8080/postdata',config).then(res=>{
				console.log(res);
			});
		};
	</script>


//server  express框架下
const express = require('express');
const app = express();
const bodyParser = require('body-parser');

const cors = require('cors');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended:false
}));
app.use(cors());

app.post('/postdata',(req,res)=>{
    // console.log(req);
    console.log(req.body);
    let { name,age,job } = req.body;
    res.send(name+'一闪一闪亮晶晶');
});


app.listen(5000,()=>{
    console.log('服务启动成功');
});





http://www.niftyadmin.cn/n/1464038.html

相关文章

flutter git 拉不起来_Flutter 实现原理及实践

推荐序Flutter 是最近非常热门的移动端跨平台解决方案。多年来&#xff0c;从 PhoneGap&#xff0c;到 React Native&#xff0c;再到现在的 Flutter&#xff0c;移动开发者一直在试图使用统一的技术方案来减少开发工作量&#xff0c;但是实话说&#xff0c;当前来看算不上成功…

vue环境变量

1.mode 模式 这里的--mode后边的变量为根目录.env.xxx文件下的NODE_ENV后边 的参数 设置后&#xff0c; --mode production,是在打包后生成的文件中启动触发&#xff0c; --mode development 是在开发环境下启动触发触发模式设置&#xff0c;在package.json 的 scripts属性中设…

axios配置,添加拦截器

//https://axios-http.com/zh/docs/intro import axios from axios import URL from ./baseUrl //默认设置baseURL axios.defaults.baseURL URL; axios.defaults.headers.post[Content-Type] application/x-www-form-urlencoded;//设置拦截器 //请求拦截器 axios.intercepto…

华为手机和电脑怎么连接_华为首款轻薄VR眼镜体验:可连接手机和电脑,近视可调节...

图文 | 搜狐科技 林国振 此前&#xff0c;华为在年度旗舰发布会上&#xff0c;除了带来华为mate30系列手机之外&#xff0c;还带来了多款硬件&#xff0c;就比如颠覆传统设计的华为VR眼镜。与传统VR头显体积大、佩戴负担沉重的特点不同&#xff0c;全新的HUAWEI VR Glass从设计…

nextcloud icon_没有对比就没有伤害,吉利ICON提车记

先来问个问题&#xff0c;为什么最后选择了ICON&#xff0c;而不是缤智呢&#xff1f;这是有原因的&#xff0c;买ICON之前我试驾过缤智&#xff0c;给我的感觉真的跟ICON差不了多少&#xff0c;但是价格就差的多了&#xff0c;而且内饰上就有一定的差距。最后还是因为ICON的外…

商务通在线客服系统_在线客服系统管理功能对比:快商通、商务通、53快服、乐语、商桥...

客服系统的客服管理功能可以帮助客服中心管理人员实现对客服人员和客服工作的管理&#xff0c;从而提高客服中心的服务效率和质量。客服中心的管理主要包括了对单个客服人员服务能力的管理和以及客服中心内部的协同管理两个方面&#xff0c;以下是关于忠仕商务通、53快服、乐语…

axios安装,配置及配合vue脚手架

1.安装axios npm install axios2.脚手架中使用axios main.js中导入axios import axios from axios;//在main.js中可全局配置默认 axios.defaults.baseURL https://api.example.com; //基础URL axios.defaults.headers.common[Authorization] AUTH_TOKEN; //作者 axios.def…

capdriverconnect 黑色_美甲 | 黑色美甲怎么搭,更高级?

服饰与搭配公众号ID&#xff1a;fusdapei关注都知道黑色显瘦显白也知道黑色很酷很性感而黑色美甲倒是很能代表一个人的个性黑&#xff0c;就是一种态度如果你只知道做纯黑色美甲那么只能说你的段位还不够高黑色的玩法很多&#xff0c;今天就和大家说一说&#xff01;黑色磨砂黑…