前端post,get请求传参方式 以及后台接收

post请求:
1:js中

export function listCheckinApply(query) {
  return request({
    url: '/aaa/bbb/ccc',  // 路径
    method: 'post',
    data: query //参数
  })
}

2:使用
首先引入方法js:

    import {listCheckinApply} from 'xxx.js'

调用方法

 /*查询条件*/
    let formData = reactive({
        applyStatus: '',
        checkinType: '',
        areaName: '',
    })
    // 提交
    const onSubmit = (values) => {
    // formData 是参数,Object类型
        listCheckinApply(formData).then(resp => {
            loading.value = true
            console.log("resp", resp)
            if (resp.code === 200) {
                // adjustApplyInfo.value = resp.rows.filter(item => {
                //     return item.applyStatus !== '0'
                // })
                adjustApplyInfo.value = resp.rows
            }
            finished.value = true;
            loading.value = false
        })
    };

3:浏览器请求
在这里插入图片描述
4:后台参数接收
在这里插入图片描述

get请求:
第一种:通过params对象传递,将参数以键值对的形式传递,当传递的参数为多个时,浏览器会自动拼接&进行分割
1:js中

export  function  getApplyGuestInfo(query) {
    return request({
        url: 'xxx/xxx/xxx',  //路径
        method: 'get',
        params: query //参数
    })
}

2:使用
首先引入方法js:

import {getApplyGuestInfo} from 'xxx.js'

调用方法

 getApplyGuestInfo({applyId: route.params.id}).then(resp => {
        if (resp.code == 200) {
            // 赋值
        }
    })

3:浏览器请求
在这里插入图片描述
4:后台参数接收
在这里插入图片描述
上面这种是传递了一个参数,下面看一下传递多个参数的,和上面一样,只不过url上进行了&分割
1:js中

export function getAdjustApply(query) {
    return request({
        url: '/xxx/ccc/list',
        method: 'get',
        params:query
    })
}

2:使用
首先引入方法js:

 import {getAdjustApply} from 'xxx.js'

调用:形如:
{name:“小张”,age:20,sex:“0”}

const onSubmit = () => {
        getAdjustApply({accommodationType:formData.accommodationType,status:formData.status,areaNameBefore:formData.areaNameBefore}).then(resp => {
            loading.value = true
            console.log("resp", resp)
            if (resp.code === 200) {
                adjustApplyInfo.value = resp.rows
            }
            finished.value = true;
            loading.value = false
        })
    };

3:浏览器请求,以&分割
在这里插入图片描述在这里插入图片描述
4:后台参数接收
在这里插入图片描述
还有一种传递方式就是直接在路径上进行拼接,比如:

export function getDetailInfoAboutAdjustRoom(id,name) {
    return request({
        url: "/xxc/ccc/vvv?id=" + id+"&name="+name,
        method: "get",
    });
}

第二种:Restful风格传递参数,比如:/xxx/ccc/vvv/{参数名}
1:js中

export  function getApplyInfo(id) { // id为参数名
    return request({
        url: '/xxx/ccc/vvv/'+id,
        method: 'get'
    })
}

2:使用
首先引入方法js:

  import { getApplyInfo} from 'xxx.js'

调用方法
我这里的参数是直接从路由中获取的

getApplyInfo(route.params.id).then(resp => {
         if(resp.code === 200){
           //处理逻辑
          } 
    })

3:浏览器请求
在这里插入图片描述

4:后台参数接收
在这里插入图片描述
注意:

1:@PathVariable:需要接收前端传递的参数必须要加上这个注解

2:@PathVariable(name="")和@PathVariable(value="")都可以

3:可以使用@RequestMapping或者@GetMapping 这两种方式
这两种方式在接受参数的区别在于: 
	@RequestMapping 可以指定GET、POST请求方式;
	@GetMapping等价于@RequestMapping的GET请求方式
比如上面例子中如果使用@RequestMapping 那么就应该写为:
@RequestMapping(value = "getApplyInfo/{id}", method= RequestMethod.GET )

如图所示:
在这里插入图片描述
今天就先记录到这里吧,后面有其他方式了再过来更新。
描述有误的地方欢迎大家指正,大家有问题可加qq,876942434。一起进步~
步~

### 如何在前端使用GET请求传递参数 对于GET请求而言,参数通常附加于URL之后作为查询字符串的一部分。这种方式使得参数透明可见,并且易于分享和书签保存。然而需要注意的是,由于这些参数暴露在外,因此不适合用于敏感信息传输。 #### 使用JavaScript Fetch API发起带有参数的GET请求 可以通过构建包含所需键值对的对象并将其序列化成查询字符串的形式附带至目标资源路径后面来实现这一点: ```javascript const params = new URLSearchParams({ first_name: 'John', last_name: 'Doe', user_age: 30, }); fetch(`/api/endpoint?${params.toString()}`, { method: "GET", }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ``` 上述代码片段展示了如何创建`URLSearchParams`对象以方便地管理要发送给服务器的数据项列表[^1]。 #### 利用Axios库执行含参GET调用 另一种流行的选择是采用axios库来进行网络通信操作。它提供了简洁易读的方式指定额外选项以及处理响应结果: ```javascript axios.get('/api/endpoint', { params: { first_name: 'John', last_name: 'Doe', user_age: 30, } }).then(function (response) { console.log(response.data); }).catch(function (error) { console.error(error); }); ``` 这里利用了axios内置的支持自动将提供的参数转换为恰当格式的功能[^2]。 #### Vue Router中的动态路由匹配与参数捕获 如果是在Vue.js项目环境中工作,则还可以考虑借助vue-router组件所提供的特性——即定义具有占位符模式(如`:id`)形式化的路径模板,在导航过程中由框架负责解析实际传入的具体数值;不过要注意这种机制下所携带的信息仅存在于内存层面,一旦浏览器发生重载事件就会随之消失[^3]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值