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

$.ajax({
        url: "/order/userPage?page="+page+"&pageSize="+pageSize,    //请求的url地址  
        cache: "false",   //设置false将不会从浏览器加载请求信息
        async: "true",    //true所有请求均为异步请求
        dataType: "json", //请求返回数据格式
        type:"get",      //请求方式

上面等同于==>>

async initData(){

   paging: {
      page: 1,
      pageSize: 5
   }
   const res = await orderPagingApi(this.paging) 
}

function orderPagingApi(data) {
    return $axios({
        'url': '/order/userPage',
        'method': 'get',
        //请求参数
        params: {...data}
    })

上面等同于==>>

async initData(){

   paging: {
      page: 1,
      pageSize: 5
   }
   const res = await orderPagingApi(this.paging) 
}

function orderPagingApi(data) {
    return $axios({

        'url': '/order/userPage',

        'method': 'get',

        'data': data
    })

后端接收参数
@GetMapping("/order/userPage")

@ResponseBody

public R<Page> userPage(Integer page,Integer pageSize){}

或

@GetMapping("/order/userPage")

@ResponseBody

public R<Page> userPage(@RequestParam("page")Integer page,@RequestParam("pageSize")Integer pageSize){}

2.将参数拼接在url中,后台通过占位符接收参数   /{id}

async initData(){
   
    const res = await addressFindOneApi(params.id)
}

​​​​​​​function addressFindOneApi(id) {
  return $axios({
    'url': `/addressBook/${id}`,
    'method': 'get',
  })
}

后端接收参数

@GetMapping("/addressBook/{id}")
@ResponseBody

public R<AddressBook> backList(@PathVariable("id")Long id){}

3.通过post提交方式将form表单中的数据序列化后传递到后台

async initData(){

    const res =await formAjax();

}

function formAjax() {

       $.ajax({

       url: "/login", 

       type: "post", 

       data: $("#form").serialize(),  // 对id为form表单数据进行序列化并传递到后台

后端接收参数

@RequestMapping("/login")

@ResponseBody

//form表单的数据与User实体类数据相对public String login (User user) {}

4.通过post提交方式将form表单的类型json 

async initData(){

    const res =await formAjax();

}

function formAjax() {

       $.ajax({

       url: "/login", 

       type: "post", 
       
       contentType: 'application/json',

后端接收参数

@RequestMapping("/login")

@ResponseBody

//form表单的数据与User实体类数据相对public String login ( @RequestBody User user) {}

5. 前台将普通数据转换json

async initData(){

   paging: {
      page: 1,
      pageSize: 5
   }
   const res = await orderPagingApi(this.paging) 
}

function orderPagingApi(data) {
    return $axios({

        'url': '/order/userPage',

        'method': 'post',

         data: JSON.stringify(data),
    })

后台接收参数

@GetMapping("/order/userPage")
@ResponseBody

public R<Page> userPage(@RequesBody Map<Integer,Integer> map){

      Integer page = map.get("page");
        
      Integer pageSize = map.get("pageSize");   

}

或  ==>>

//假设PageInfo类中属性与其相对应
@GetMapping("/order/userPage")
@ResponseBody

public R<Page> userPage(@RequesBody PageInfo pageInfo){

     Integer page = pageInfo.getPage();
 
     Integer pageSize = pageInfo.getPageSize();
}

6.接收参数出错案例

Cannot deserialize instance of `java.lang.String` out of START_OBJECT token

请求体中的 user 被认为是一个Object对象,不能用String进行解析

修改前

@PostMapping("/regiest")
	public R<String> createUser(@RequestBody Map<String,String> map) {
		
		return R.success("保存成功");
	}

修改后

@PostMapping("/regiest")
	public R<String> createUser(@RequestBody Map<String,Object> map) {
		
		return R.success("保存成功");
	}

7. 使用vue时Error in render: “TypeError: getStatus is not a function

new Vue({

  getStatus()  ; //方法出错

} )

我的原因是粗心少了一个         使得这个方法不准确

8.前端传参 {params: params} ,后端用 @RequestParams(“id”) 接参

//前端发送数据
this.$axios
       .delete("login/deleteUserInfo", 
          { params: {
               userId: this.id
          } 
        })
       .then(
         this.$message({
         type: "success",
         message: "删除用户信息成功",
      }))
       .catch(
        this.$message({
        type: "false",
        message: "删除用户信息失败",
      })
  )
//后端接收数据
@DeleteMapping("deleteUserInfo")
    public R deleteUserInfo(@RequestParam("userId") String userId){
        int result=userInfoService.deleteUserInfoById(userId);
        if(result>0){
            return R.ok();
        }
        return R.error();
    }

9.前端通过 {data : param} 传参,后端通过 @RequestBody  接参

//前端
deleteMessage() {
		  	axios.delete('login/deleteUserInfo', 
               { data : {
                   userId: this.id
                }}).then((response) => {
			});
}
//后端
@DeleteMapping("deleteUserInfo")
public R deleteUserInfo(@RequestBody String userId){
        int result=userInfoService.deleteUserInfoById(userId);
        if(result>0){
            return R.ok();
        }
        return R.error();
    }

10、elselect 数据回显问题

 <el-form-item label="角色名称:" label-width="100px">
          <el-select
            placeholder="请选择角色名称"
            v-model="form.roleId"
            :label-width="formLabelWidth"
            style="width: 200px"
          >
            <el-option
              v-for="item in roleInfo"
              :key="item.value"
              :label="item.roleName"
              :value="item.roleId"
            >
            </el-option>
          </el-select>
        </el-form-item>

:value=’1′  vmodel=”1″(数值 1)则匹配number=number string=string类型要一致),显示label 否则显示value

原文地址:https://blog.csdn.net/qq_65050028/article/details/125945224

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_17617.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注