前后台交互时遇到过这样一个问题,代码如下:

    // 新增||修改确定
    addOk (item) {
      if (!item) {
        const param = Object.assign(this.formValidate)
        let data = {}
        data.dsmEnterpriseInterface = param
        Postintegrator(data).then(res => {
          this.addModal = false
          this.status(res)
        })
        return false
      }
      let params = {
        id: this.formValidate.id,
        name: this.formValidate.name,
        password: this.formValidate.password,
        operUrl: this.formValidate.operUrl
      }
      let data = {}
      data.dsmEnterpriseInterface = params
      PutIntegrator(data).then(res => {
        this.addModal = false
        this.status(res)
      })
    }

后台接收不到参数,后台实体接收,发现data与params的区别;
在使用axios时,注意到配置选项中包含params和data两者,以为他们是相同的,实则不然。
因为params是添加到url的请求字符串中的,用于get请求。
而data是添加到请求体(body)中的, 用于post请求。

示例如下:

export const startOsp = param => {
  let temp = {}
  temp.strId = param.strId 
  temp.userCode = param.userCode
  temp.password = param.password
  return axios.request({
    url: '/../方法名',
    method: 'post',
    data: param.dsmResponseReq,
    params: temp
  })
}
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐