vue前端如何向后端传递参数

2022-10-14

这篇文章主要介绍了vue前端如何向后端传递参数,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

目录
  • 前端向后端传递参数
    • get方法传参
    • post方法传参
  • vue前后端传参问题

    前端向后端传递参数

    get方法传参

    get方法传参,我们只需要把要传递的参数拼接到要发送的路径地址后面。

    实例

    前端:

    export default {
      data () {
        return {
          name: "david", //要传递的值1
          age: 20, //要传递的值2
        }
      },
      methods: {
      //在method里面定义一个向后端传递参数的方法,我这里使用的是async await方法向后端传递参数(注:async await是配套使用的),'http://localhost:33333/api/'是我后端接收参数的地址
        async fetch() {
          const { data: resp } = await this.$http.get('http://localhost:33333/api/'+this. param1+'/'+this. param2);
          if (resp == 400) return this.$message.error(resp.msg);//对于返回值做了一个处理
        },
      },
    }

    后端:

    @router.get('/api/{name}/{age}')
    def Search(name,age):
        #name,age是我们传递过来的值
        pass

    post方法传参

    post方法允许我们定义并传递一个参数对象,在传值的时候我们可以一眼就看出自己传递的参数

    实例

    export default {
      data () {
        return {
          params:{
           name: "david", //要传递的值1
           age: 20, //要传递的值2
          } 
        }
      },
      methods: {
      //在method里面定义一个向后端传递参数的方法,我这里使用的是async await方法向后端传递参数(注:async await是配套使用的),'http://localhost:33333/api/'是我后端接收参数的地址
        async fetch() {
          const { data: resp } = await this.$http.post('http://localhost:33333/api/',this.params);
          if (resp == 400) return this.$message.error(resp.msg);//对于返回值做了一个处理
        },
      },
    }

    后端:

    class QueryForm(BaseModel):
        name:str=""
        age:int=0
        
    @router.post('/api/')
    def Search(form:QueryForm):
        #这里我们定义了一个和前端传递过来的一样的参数类型的form用来接收前端传递过来的值
        pass

    温馨提示:传递参数的时候我们要注意前后端一致,前端用post传递参数,后端用post接收参数;前端用get传递参数,后端用get接收参数 

    vue前后端传参问题

    前后端可通过get方式或者post方式连接

    get方式传参,可以使用header传参

    • this.$axios .get("路由地址"+"?参数1=参数1值&参数2="+参数2值)

    post方式传参,可以body传参,也可以使用params传参

    • body传参:this.$axios({methos:"post" url:"路由地址" data:{参数1:"参数1值",参数2:"参数2值"}})
    • params传参:const params = {{参数1:"参数1值",参数2:"参数2值"}; this.$axios({methos:"post" url:"路由地址",params:params,})

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持北冥有鱼。

    您可能感兴趣的文章:

    • vue中常见的问题及解决方法总结(推荐)
    • vue中axios实现数据交互与跨域问题
    • vue在body和query中如何向后端传参

    《vue前端如何向后端传递参数.doc》

    下载本文的Word格式文档,以方便收藏与打印。