接口调用Fetch方法以及fetch请求参数
fetch概述
看一个基本的例子:
服务端代码:
app.get('/fdata',(req,res)=>{setTimeout(function(){res.send('this is content retrived by fetch method')},3000)
})
测试:
<script>fetch('http://127.0.0.1:9999/fdata').then((data) => {return data.text() // data.text()返回的是一个promise对象}).then((result) => { // 调用then这里获取的才是真正的数据console.log(result)})</script>
等了几秒以后控制台输出:
fetch请求参数
fetch之get请求参数
我们再看下面的代码:
// 服务端
app.get('/books',(req,res)=>{setTimeout(function(){console.log(req.query)res.send('传统参数传递:' + JSON.stringify(req.query))},3000)
})
// 这里我们用旧的方式传入参数,method:'get'写不写无所谓,默认就是get
fetch('http://127.0.0.1:9999/books?id=123',{method:'get'}).then((data) => {return data.text()}).then((result) => {console.log(result)})
结果:
我们现在换restful风格的url:
那么在服务端我们也要修改一下路由:
这里要用:id
来接收传来的数据,express需要用req.params
来获得查询数据
结果:
这里有个细节注意一下:
这里的参数999传过去的时候,在服务端:
路由接收传来的参数的变量名是可以自定义的,不一定非要是id,保持统一就可以了
fetch之delete请求参数
// 服务端
app.delete('/books/:id',(req,res)=>{setTimeout(function(){res.send('Delete请求参数传递:' + req.params.id)},3000)
})
fetch('http://127.0.0.1:9999/books/666',{method:'delete'}).then((data) => {return data.text()}).then((result) => {console.log(result)})
结果:
fetch之post请求参数
- 发送x-www-form-urlencoded类型的数据
上代码:
// 服务端
const bodyParser = require('body-parser')
// 配置body-parser
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))app.post('/books', (req, res) => {// body就是body-parser处理的console.log(req.body)res.send('Post请求参数传递:' + req.body.uname + '---' + req.body.pw)
})
fetch('http://127.0.0.1:9999/books/',{method:'post',body:'uname=dean&pw=123456',headers:{'Content-Type':'application/x-www-form-urlencoded'}}).then((data) => {return data.text()}).then((result) => {console.log(result)})
发post请求主要就下面这些变化:method,请求体body,头部headers:
结果:
- 发送json类型的数据
// 服务端
app.post('/books', (req, res) => {console.log(req.body)res.send('Post请求参数传递:' + req.body.uname + '---' + req.body.age)
})
js代码需要这样修改:
结果:
fetch之put请求参数
app.put('/books/:id', (req, res) => {console.log('req.body:',req.body)console.log('req.params:',req.params)console.log('请求id:',req.params.id)res.send('Put请求参数传递:' + req.body.bname + '---' + req.body.bprice)
})
注意这里::id
需要用req.params.id取值
结果:
fetch响应结果
我们看看如何用fetch的json API返回数据:
// 服务端
app.get('/books/json', (req, res) => {// 调用express的json方法res.json({bname:'ES6',bprice:79})
})
结果:
接口调用Fetch方法以及fetch请求参数相关推荐
- 国际短信平台接口调用的方法步骤,简单5步快速教程
如果您需要使用国际短信平台来满足您的业务需求,那么您需要了解短信平台接口调用的方法步骤. 接口调用是指您的应用程序通过网络接口与短信平台进行通信,从而实现向全世界发送短信的功能. 下面是国际短信平台接 ...
- 每日一句api Android,金山每日一句 API 接口调用接入方法
原标题:金山每日一句 API 接口调用接入方法 金山每日一句 API 大家都听说过吧,金山每日一句 API 每次刷新网页都会带来一个新的语句,现在盒子部落公布金山每日一句 API 接口,可以直接在自己 ...
- python excel token_python+excel接口自动化获取token并作为请求参数进行传参操作
1.登录接口登录后返回对应token封装: import json import requests from util.operation_json import OperationJson from ...
- 标签中的onclick调用js方法传递多个参数的解决方案
标签中的onclick调用js方法传递多个参数的解决方案 参考文章: (1)标签中的onclick调用js方法传递多个参数的解决方案 (2)https://www.cnblogs.com/twohea ...
- SpringMVC@RequestMapping请求方法限定与请求参数限定
SpringMVC@RequestMapping请求方法限定与请求参数限定 一.请求方法限定 除了可以对url进行设置,还可以限定请求进来的方法 限定GET方法 @RequestMapping(met ...
- @Aspect aop切面获取请求接口类名、方法名、及参数
1.自定义一个注解,通过将自定义的注解添加到对应的方法上,可实现对该方法进行增强操作 package com.basis.aspect;import java.lang.annotation.Elem ...
- Vue接口调用(一)fetch用法
Vue接口调用
- 实战HttpClient 接口调用以及获取token 设置请求头
简介: HTTP 协议可能是现在 Internet 上使用得最多.最重要的协议了,越来越多的 Java 应用程序需要直接通过 HTTP 协议来访问网络资源.虽然在 JDK 的 java.net 包中已 ...
- ashx 接口调用_使用ajax去请求调用ashx的接口
首先要明白这个是前台去请求后台的接口,把前台的参数传给后台,然后后台给前台一个或多个返回结果. 1.后台的代码如下: /// /// GetInfomationDetail 的摘要说明 /// pub ...
最新文章
- 彻底卸载 RAD Studio 2009/2010/XE+ 的步骤
- 利用源代码包搭建LAMP
- windoes 远程桌面时出现“没有远程桌面授权服务器可以提供的许可证”解决方法
- 蚂蚁保护板_南京文明施工规范装修公司哪家好 红蚂蚁装饰标准施工分享你
- 开源数据分析工具 CyberChef
- oracle占位符怎么打,PL/SQL Challenge 每日一题:2018-7-11 动态SQL中的占位符
- CentOS7/RHEL7 systemd详解
- AC日记——找最大数序列 openjudge 1.9 10
- 财务 - 注册会计师
- 计算机硬盘各分区名称,电脑分区后修改磁盘名称的方法步骤
- 检测服务器网站端口,检测服务器80端口
- Fast Refresh 原理剖析
- 量化投资学习必读书目(十五)-《现代投资组合理论与投资分析》
- TI DSP TMS320C66x学习笔记之TI Imglib库相关函数(四)
- Moonriver Network与Calamari Network完成XCM集成
- Peewee fn 用法
- android java开发
- oracle 通信通道异常,(oracle)ORA-03113: 通信通道的文件结尾错误处理
- 华为eNSP基础命令
- 013-Flowcharting实现动态可感知网络拓扑
热门文章
- 如何用计算机做科学实验,8.用计算机做科学实验 (3)
- 钢笔工具的理解和使用
- 菲戈挑战足球守门员机器人原理
- DW 2023年1月Free Excel 第四次打卡 逻辑判断函数
- 读书笔记-LVS之ipvsadm用法
- Simulink报错:State derivatives returned by S-function ‘xx‘ in ‘untitled/S-Function‘ during flag = 1...
- 【android】AS中使用Junit单元测试和Android JUnit 单元测试
- Unity 2D案例学习——制作Roguelike随机地下城
- Java Beans 介绍
- InitialContext与jndi.properties