wxuploadfile php,微信小程序wx.request和wx.uploadFile中传参数的区别

版权声明:本文为集能_IT互联网专业社区博主「马姐」的原创文章,遵循

集能_IT互联网专业社区版权协议,转载请附上原文出处链接及本声明。

原文链接: http://www.ljineng.com/index/news/details/id/132

小程序中通过组件

提交表单的时候,在js中通过e.detail.value得到所提交表单的json格式数据。一般提交表单我们都是通过wx.request请求,提交表单数据,通过参数data传数据wx.request({

url: 'demo.php', //仅为示例,并非真实的接口地址

data: {

x: e.detail.value

},

header: {

'content-type': 'application/json' // 默认值

},

success (res) {

console.log(res.data)

}

})

},

formReset: function() {

console.log('form发生了reset事件')

}

})

这样做我们可以在通过接口在后台顺利接收到参数。

还有一种,表单里面涉及到上传图片的情况,我们通过wx.uploadFile上传图片,参数filePath是通过wx.chooseImage得到的图片临时路径,这时我们可以通过参数formData来传输表单里的内容,但是如果我们如果还是直接通过e.detail.value得到表单数据直接上传的话,后台能接受到这个参数,但是得不到具体数据,后台接收到的形式是[object object]  这是为什么?很明显就是因为传输的格式不对,注意:wx.request的content-type 默认为 application/json而wx.uploadFile的content-type 为 multipart/form-data。那么我们怎么传表单数据呢:JSON.stringify(e.detail.value)  就是将json对象转为字符串格式后再传参,这样在后台就可以完美的接受到数值了。wx.uploadFile({

url: 'https://example.weixin.qq.com/upload', //仅为示例,非真实的接口地址

filePath: tempFilePaths[0],

name: 'file',

formData: {

x: JSON.stringify(e.detail.value)

},

success (res){

const data = res.data

//do something

}

})

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值