Axios

import axiox from 'axiox'

getHandle(){
//axios.get 发起get请求
//参数一  表示请求地址
//参数二  表示配置信息
//params  表示传递到服务器端的数据,以url参数的形式拼接在请求地址后面
//  {page:1,per:3}
//  比如:https://api.cat-shop.penkuoer.com/api/vl/products
//最终生成的URL为
//https://api.cat-shop.penkuoer.com/api/vl/products?page=1&per=3
//headers 表示请求头
axios.get("",{params:{page:3,per:2},headers:{}
});
}.then(res=>console.log(res)),
axios.post("https://api.cat-shop.penkuoer.com/api/v1/auth/login",
{userName:"xiaoming",password:"111"},
{params:{a:123,b:"hh"}
}
).then(res=>cosnole.log(res)).catch(err=>console.log(err))

四种传参数的地方:

axios({method:'POST',url:'/products/'+100, //路径参数params:{               //查询参数page:1,perPage:10
}headers:{            //请求头参数'X-Hahaha':'666'
}data:{                //请求体参数name:1,sex:2}
})

PUT /prodects/100?page=1&perPage=10

请求头:X-Hahaha:666

请求体:{"name":1,"sex":2}

状态码

400:客户端请求的语法错误,服务器无法理解(参数传递错误)

401:请求用户的身份认证(token校验失败,用户未登录)

403:虽然是登陆了但是权限过低,接口不能调

跨域请求

我们在页面A,请求接口B

如果页面A的origin源(协议://域名:端口号),和接口B的origin不一致,就是跨域请求,浏览器会拦截掉

JSONWEBTOKEN

前端传递token给后端Authorization:Bearer xxxxxxx(token值)

ajax库

 Json-server

Json-server用于模拟服务器端口数量,可以根据json数据建立一个完整的web服务。

json-server是一个 Node 模块,运行 Express 服务器,你可以指定一个 json 文件作为 api 的数据源。 通俗来说, json-server模拟服务端接口数据,一般用在前端人员可以不依赖后端的API开发,而在本地搭建一个JSON服务,快速生成一个REST API风格的后端服务。

使用:

1.全局安装json-server

 $ npm install -g json-server

2.创建json数据

3.json-server系统中就会多出一个json-server命令,通过该命令执行json文件

json-server --watch json文件

4.通过访问 访问到json数据

RESTful

REST(直译过来表现层状态转换)是一种软件架构风格,设计风格,而不是标准,只是提供了一组设计原则和约束条件。他主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

所谓的restful风格就是通过不同的请求方式,对数据进行增删改查等不同的操作。

json-server增删改查

get:表示检索

        检索全部数据  http://localhost:3000

        通过id检索一条数据 http://localhost:3000/posts/1  (将id=1的数据检索出来)

        通过条件检索多条数据  http://localhost:3000/posts?title=你好 (将title=你好的数据筛选出来)

post:表示新增操作

post新增数据在请求体中增加

delete:删除操作

删除是通过路径来删除的

put请求:修改操作

在url中发送要修改的id,在请求体中发送要修改的数据

字段重组,只保留请求发送的字段,请求没有发送原来对象中存在的字段,那么原对象中的该字段会删除 

patch请求:修改操作

只修改请求的字段,没有请求的字段,原对象中保留(不被删除)

Object.entries(obj)

将对象的属性和方法给转化为一个对象

const obj = { foo: "bar", baz: 42 };
console.log(Object.entries(obj)); // [ ['foo', 'bar'], ['baz', 42] ]
// 使用 for...of 循环
const obj = { a: 5, b: 7, c: 9 };
for (const [key, value] of Object.entries(obj)) {console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
}// 使用数组方法
Object.entries(obj).forEach(([key, value]) => {console.log(`${key} ${value}`); // "a 5", "b 7", "c 9"
});

请求头

什么是请求头?

拦截器

transformRequest: [function (data) { // 做任何你想要的数据转换 return data; }], // `transformResponse`允许在 then / catch之前对响应数据进行更改

transformResponse: [function (data) { // Do whatever you want to transform the data return data; }],

上面的两个只针对某一个请求的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/265676.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux搭建nacos集群

准备 检查是否安装jdk [roothao /usr/local/software/elk/logstash]# java -version java version "1.8.0_341" Java(TM) SE Runtime Environment (build 1.8.0_341-b10) Java HotSpot(TM) 64-Bit Server VM (build 25.341-b10, mixed mode)配置nacos 去github下载…

java--正则表达式用于查找信息、用于搜索替换、分割内容

1.案例:使用正则表达式查找一段文本中的内容 需求:请把下面文本中的电话,邮箱,座机号码,热线都爬取出来。 2.正则表达式用于搜索替换、分割内容,需要结合String提供的如下方法完成

java定位系统源码,UWB技术的无线定位系统源码

UWB技术是一种传输速率高,发射功率较低,穿透能力较强并且是基于极窄脉冲的无线技术。UWB最优的应用环境是室内或者相对密闭的空间,有着厘米级的定位精度,不仅可以非常精准地进行位置跟踪,还可以快速地进行数据传输。 智…

npm run build时提示vue/types/jsx.d.ts中的错误

解决方法一: 可能是因为vue版本过高引起的 我直接将package.json中vue以及vue-template-compiler的版本的前面^去掉,安装指定的版本 注意:vue和vue-template-compiler需要版本一致 参考链接:链接 解决方法二: 如果如…

Unity_ET-TimerComponent

Unity_ET-TimerComponent 源码&#xff1a; namespace ETModel {public struct Timer{public long Id { get; set; }public long Time { get; set; }public TaskCompletionSource<bool> tcs;}[ObjectSystem]public class TimerComponentUpdateSystem : UpdateSystem<…

Facebook广告投放常见错误

在进行Facebook广告投放时&#xff0c;很容易犯一些常见的错误。这些错误可能导致广告投资的浪费&#xff0c;影响广告效果并降低回报。本文小编讲一些常见的Facebook广告投放错误&#xff0c;以及如何避免它们。 1、不明确目标受众 广告的成功与否很大程度上取决于你选择的目…

6-9 求一元函数定积分

一元函数f(x)在区间[a,b]上定积分∫ab​f(x)dx的几何意义是被积函数与横坐标轴以及直线xa和直线xb围成的曲边形的面积。依据几何意义求定积分的方法是将这个区域按x轴方向等分成若干个细小的条状区域&#xff0c;每个小区域近似于一个梯形(如图所示)&#xff0c;计算出所有小梯…

mycat部署和配置读写分离(二)

说明&#xff1a; MyCAT 是使用 JAVA 语言进行编写开发&#xff0c;使用前需要先安装 JAVA 运行环境(JRE),由于 MyCAT 中使用了 JDK7 中的一些特性&#xff0c;所以要求必须在 JDK7 以上的版本上运行。 1. jdk1.8安装 详见jdk环境安装 2. Mysql安装 详见mysql8.0.11源码安装…

pycharm手动安装包

1.下载对应的包 TTS PyPI 2.手动解压&#xff0c;找到文件放到pycharm对应项目的lib文件夹中 以TTS包为例&#xff0c;找到下载并解压的包中的2个文件&#xff0c;一个名称一个info结尾 3.放到项目的lib文件夹中 eg&#xff1a;路径&#xff1b;C:\doc\myProject\speaker\venv…

工业级路由器在货运物流仓储管理中的应用

工业级路由器在货运物流仓储管理中扮演着重要的角色&#xff0c;为整个物流系统提供了稳定可靠的网络连接和数据传输支持。下面将从以下几个方面介绍工业级路由器在货运物流仓储管理中的应用。 实时监控和追踪&#xff1a;工业级路由器通过与各种传感器、监控设备和物联网设备的…

亚马逊云科技Amazon Bedrock,现推出更多模型选择和全新强大功能

亚马逊云科技在re:Invent 2023上宣布推出Amazon Bedrock更多模型选择和强大功能&#xff0c;帮助客户更轻松地构建和规模化针对其业务定制的生成式AI应用程序。 Amazon Bedrock是一项全面托管的服务&#xff0c;用户可轻松访问来自AI21 Labs、Anthropic、Cohere、Meta、Stabili…

Word插件-好用的插件-一键标记-大珩助手

一键标记 在审阅重要文件时&#xff0c;需要将重点的信息标记出来&#xff0c;这些重点信息有一些具有相似性&#xff0c;比如甲方、地址、要求、必续等等&#xff0c;以避免遗漏重要内容&#xff0c;由此设计一个可一次标记多个关键字的标记工具 使用方法 关键字之间用逗号“…