前端给后端传数据的几种方式

打印 上一主题 下一主题

主题 908|帖子 908|积分 2724

1.发送get请求将参数通过?拼接在url后面

  1. $.ajax({
  2.         url: "/order/userPage?page="+page+"&pageSize="+pageSize,    //请求的url地址  
  3.         cache: "false",   //设置为false将不会从浏览器中加载请求信息
  4.         async: "true",    //true所有请求均为异步请求
  5.         dataType: "json", //请求返回数据的格式
  6.         type:"get",      //请求方式
  7. 上面等同于==>>
  8. async initData(){
  9.    paging: {
  10.       page: 1,
  11.       pageSize: 5
  12.    }
  13.    const res = await orderPagingApi(this.paging)
  14. }
  15. function orderPagingApi(data) {
  16.     return $axios({
  17.         'url': '/order/userPage',
  18.         'method': 'get',
  19.         //请求参数
  20.         params: {...data}
  21.     })
  22. 上面等同于==>>
  23. async initData(){
  24.    paging: {
  25.       page: 1,
  26.       pageSize: 5
  27.    }
  28.    const res = await orderPagingApi(this.paging)
  29. }
  30. function orderPagingApi(data) {
  31.     return $axios({
  32.         'url': '/order/userPage',
  33.         'method': 'get',
  34.         'data': data
  35.     })
复制代码
后端接收参数
  1. @GetMapping("/order/userPage")
  2. @ResponseBody
  3. public R<Page> userPage(Integer page,Integer pageSize){}
  4. @GetMapping("/order/userPage")
  5. @ResponseBody
  6. public R<Page> userPage(@RequestParam("page")Integer page,@RequestParam("pageSize")Integer pageSize){}
复制代码
2.将参数拼接在url中,后台通过占位符接收参数 /{id}

  1. async initData(){
  2.    
  3.     const res = await addressFindOneApi(params.id)
  4. }
  5. ​​​​​​​function addressFindOneApi(id) {
  6.   return $axios({
  7.     'url': `/addressBook/${id}`,
  8.     'method': 'get',
  9.   })
  10. }
复制代码
后端接收参数
  1. @GetMapping("/addressBook/{id}")
  2. @ResponseBody
  3. public R<AddressBook> backList(@PathVariable("id")Long id){}
复制代码
3.通过post提交方式将form表单中的数据序列化后传递到后台。

  1. async initData(){
  2.     const res =await formAjax();
  3. }
  4. function formAjax() {
  5.        $.ajax({
  6.        url: "/login",
  7.        type: "post",
  8.        data: $("#form").serialize(),  // 对id为form的表单数据进行序列化并传递到后台
复制代码
后端接收参数
  1. @RequestMapping("/login")
  2. @ResponseBody
  3. //form表单的数据与User实体类的数据相对应
  4. public String login (User user) {}
复制代码
4.通过post提交方式将form表单的类型是 json

  1. async initData(){
  2.     const res =await formAjax();
  3. }
  4. function formAjax() {
  5.        $.ajax({
  6.        url: "/login",
  7.        type: "post",
  8.       
  9.        contentType: 'application/json',
复制代码
后端接收参数
  1. @RequestMapping("/login")
  2. @ResponseBody
  3. //form表单的数据与User实体类的数据相对应
  4. public String login ( @RequestBody User user) {}
复制代码
5. 前台将普通数据转换为json

  1. async initData(){
  2.    paging: {
  3.       page: 1,
  4.       pageSize: 5
  5.    }
  6.    const res = await orderPagingApi(this.paging)
  7. }
  8. function orderPagingApi(data) {
  9.     return $axios({
  10.         'url': '/order/userPage',
  11.         'method': 'post',
  12.          data: JSON.stringify(data),
  13.     })
复制代码
后台接收参数
  1. @GetMapping("/order/userPage")
  2. @ResponseBody
  3. public R<Page> userPage(@RequesBody Map<Integer,Integer> map){
  4.       Integer page = map.get("page");
  5.         
  6.       Integer pageSize = map.get("pageSize");   
  7. }
  8. 或  ==>>
  9. //假设PageInfo类中有属性与其相对应
  10. @GetMapping("/order/userPage")
  11. @ResponseBody
  12. public R<Page> userPage(@RequesBody PageInfo pageInfo){
  13.      Integer page = pageInfo.getPage();
  14.      Integer pageSize = pageInfo.getPageSize();
  15. }
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

傲渊山岳

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表