首页 > 其他分享 >记录后端不同请求方式的接口,使用vue3框架下的前端axio请求不同写法

记录后端不同请求方式的接口,使用vue3框架下的前端axio请求不同写法

时间:2023-11-28 17:12:59浏览次数:28  
标签:axio const 请求 res value code vue3 data

一.

后端接口:

    @GetMapping("/index")
    public ResponseResult index() {..}

 

前端接口:

indexInfo().then(res => {
    if (res.data.code == 200) {
        ElNotification({
            message: res.data.data.msg || "加载成功",
            type: 'success',
            duration: 2000
        })
        animArry.value = res.data.data.records;
        console.log(res.data.data.records)

    }
})

前端方法实现(将js函数整合在一个js文件中导入使用时):

export function indexInfo() {
  return axios.get("/t-animal/index")
}

二.

后端是get并使用Param注解携带参数

    @GetMapping(value = "/send")
    public ResponseResult code(@RequestParam("phone") String phone) {..}

 

const onSend = () => {
    const params = {
        phone: form.phone
    }
    axios.get('/send', { params }).then((res) => {
        console.log(res.data);
    })

}

三.

 

    @PostMapping("/user/login")
    public ResponseResult login(@RequestBody User user, HttpServletResponse response) throws JsonProcessingException {..}

 

const onSubmit = () => {
    formRef.value.validate((valid) => {
        if (!valid) {
            return false
        }
        loading.value = true
        login(form.userName, form.password)
            .then(res => {
                console.log(res);
                if (res.data.code == 401) {
                    ElNotification({
                        message: res.data.msg || "登录失败",
                        type: 'warning',
                        duration: 2000
                    })
                } else if (res.data.code == 200) {
                    ElNotification({
                        message: res.data.msg || "登录成功",
                        type: 'success',
                        duration: 2000
                    })
                    setToken(res.data.data.token)
                    router.push("/")
                }
                //拿到请求成功的结果
            }).finally(()=>{
                loading.value = false
            })
    })
}

 

前端方法实现:

export function login(userName, password) {
  return axios.post("/user/login", {
    userName, password
  })
}

四.

后端是@RequestBody请求体

    public ResponseResult Declare(@RequestBody Declare declare) {..}

 

const onSubmit = () => {
    formRef.value.validate(async (valid) => {
        const resp = await axios.post('/t-animal/declare', declare2)
        if (resp.data.code == 200) {
            console.log('200');
        } else {
            console.log('error');
        }
        loading.value = false
    })
}

总结:
一共有以上几种请求方法:

Body:Post请求使用导入js文件,在组件中使用js实现两种方式.

Param请求使用Get请求,以及纯Get获取数据.

标签:axio,const,请求,res,value,code,vue3,data
From: https://www.cnblogs.com/zjDm/p/17862418.html

相关文章

  • 学习Vue3 第五章(Vue核心虚拟Dom和 diff 算法)
      介绍虚拟DOM虚拟DOM就是通过JS来生成一个AST节点树   为什么要有虚拟DOM?一个dom上面的属性是非常多的,所以直接操作DOM非常浪费性能介绍Diff算法diff算法的目的就是找出新旧不同虚拟DOM之间的差异,使最小化的更新视图,所以diff算法本质上就是......
  • 记一次请求接口出现400响应码的诡异错误实录
    前言最近业务碰到了一个诡异的400接口请求异常,部门用户通过浏览器访问会出现400响应码错误,部分用户又能正常访问。该接口用postman请求访问,都能正常返回数据。后端写客户端请求该接口,也都能返回正常的数据。本文就来记录一下这次问题整体简化版请求链路如图问题排查过程因为......
  • 学习Vue3 第四章 vue指令
    指令v-开头都是vue的指令v-text用来显示文本v-html用来展示富文本v-if用来控制元素的显示隐藏(切换真假DOM)v-else-if表示v-if的“elseif块”。可以链式调用v-elsev-if条件收尾语句v-show用来控制元......
  • vue3 项目中出现的空白页面的总结(巨坑)
    一、背景开局先说一句!!!!好坑!!!!!,我遇到的空白页面的问题,不是路由懒加载的原因,是在点击路由完整的状态下,点击菜单跳转页面,出现的空白页面,不能触发页面中任何钩子函数,但是路由是跳了的,重新刷新页面,页面内容即可出现,而且空白出现率相当高。打开浏览器控制台和项目控制台都不报......
  • Vue3 第三章
    Vite目录public下面的不会被编译可以存放静态资源 assets下面可以存放可编译的静态资源 components下面用来存放我们的组件 App.vue是全局组件 maints全局的ts文件index......
  • Vue3 + [email protected] + UploadPictureCard
    <template><a-uploadname="file"v-model:file-list="showFileList"list-type="picture-card":multiple="multiple":max-count="maxCount":before-up......
  • Java 第三方链接请求工具
    importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;importorg.apache.http.Consts;importorg.apache.http.HttpEntity;importorg.apache.http.HttpResponse;importorg.apache.http.NameValuePair;importorg.apache.http.client.entity.Url......
  • 同源与跨域的请求方法
    JS新特性H5新增存储方案1.SessionStorage和LocalStorage简介和Cookie一样,SessionStorage和LocalStorage也是用于存储网页中的数据的2.Cookie、SessionStorage、LocalStorage区别2.1生命周期(同一浏览器下)Cookie生命周期:默认是关闭浏览器后失效,但是也可以设置过期时间Sess......
  • 【源码系列#02】Vue3响应式原理(Effect)
    专栏分享:vue2源码专栏,vue3源码专栏,vuerouter源码专栏,玩具项目专栏,硬核......
  • Python之Http服务设置跨域请求
    Http服务设置跨域请求跨域是什么就不在此进行赘述了,百度一下,你就知道。flask的处理方法flask中处理跨域很简单,只需要在flask的app对象中注册函数处理:app.after_request(after_request)其中的after_request即为处理跨域的函数,当请求处理完成,还未响应给客户端之前,flask会......