小程序-formdata传参

摘要:
项目背景,后端接口要求formData传参:在util.js文件中封装转化函数,代码如下:constformatTime=date=˃{constyear=date.getFullYear()constmonth=date.getMonth()+1constday=date.getDate()consthour=date.getHours()constminute=date.getMinutes()constsecond=date.getSeconds()return[year,month,day].map.join('/')+''+[hour,minute,second].map.join(':')}constformatNumber=n=˃{n=n.toString()returnn[1]?


项目背景,后端接口要求formData传参:

在util.js文件中封装转化函数,代码如下:

const formatTime = date =>{
  const year =date.getFullYear()
  const month = date.getMonth() + 1const day =date.getDate()
  const hour =date.getHours()
  const minute =date.getMinutes()
  const second =date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

const formatNumber = n =>{
  n =n.toString()
  return n[1] ? n : '0' +n
}
const json2Form = json =>{
  var str = [];
  for (var p in json) {
    str.push(encodeURIComponent(p) + "=" + encodeURIComponent(json[p]));
  }
  return str.join("&");
  console.log(str)
}

module.exports ={
  formatTime: formatTime,
  json2Form: json2Form
}

使用页面:

首先:var util = require('../../utils/util')

设置header也很重要,代码如下:

wx.request({
        url: host +'/pingan/chatbot',
        method:'POST',
       data: util.json2Form({
          version: 0.1,
          clientType: 'web',
          robotId: '1030',
          userId: 'test1',
          sessionId: '10231451574',
          question: nowV
        }),
        header: {
          'content-type': 'application/x-www-form-urlencoded'},
        success:function(res){
          console.log(res)
          if (res.data.status&&res.data.status.state === '1'){
            //文字转语音
            this.play(res.data.content.answer)
            let nid = 'id_1' + Date.parse(new Date()) / 1000console.log(nid)
            let fData = { id:nid,content: res.data.content.answer, me: false}
            speakT.push(fData)
            that.setData({
              speakT: speakT,
              toView: nid
            }) 
          }
        },
        fail:function(res){
          console.log(res)
        }
      })

免责声明:文章转载自《小程序-formdata传参》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇iOS 枚举类型学习判断一个路径串是否为有效目录下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android多开/分身检测

原文:https://blog.darkness463.top/2018/05/04/Android-Virtual-Check/ 多开/分身原本用于方便有多个微信/QQ解决同时登录的问题,但近来年被各种黑产所利用,多见于薅羊毛,部分多开App甚至提供了篡改功能。对于普通用户根本不会有多开的需求的App,一旦检测到当前运行在多开环境下,有理由限制该用户的后...

ETCD节点故障恢复

我在微服务组里面主要负责配置中心的构建,我们的配置中心使用到了ETCD。在我们的内网环境中搭建了三个节点的ETCD,不过这三个节点的ETCD都搭建在同一台机器上。后来机器资源不够了系统直接kill了ETCD,导致内网的ETCD三个节点全部挂掉了。刚开始想逐个启动就完事了,但是按照之前的data-dir启动之后发现三个节点握手存在问题,原因是三个节点缓存数据...

data文件夹权限修改

程序用FileOutputStream以及xml格式的ShardPreference生成的文件会存储在data文件夹下,可以AS顶部栏的Tools->Android->Android Device Monitor工具的file explore可以方便查看 但是,默认情况下data文件夹的权限是771,这个工具只有最后的1权限,也就是仅执行,这是...

练习--爬取xici可用代理IP

通过爬虫实现xici可以使用的代理IP 端口 主要代码: #!/usr/bin/env python #coding:utf8 import telnetlib from urllib import request import re class getXici(): def __init__(self): self.url...

时序分析之Arrival Time

首先要理解两个概念:launch edge 和latch edge launch edge 是源寄存器发送数据的时钟沿,是时序分析的起点。 latch edge是目的寄存器捕获数据的时钟沿,是时序分析的终点。 如图示,源寄存器在0ns时发送数据,目的寄存器在5ns时采样数据,两者刚好相差一个时钟周期。 Data Arrival Time :从launch...

句柄类与继承

前一小节《容器与继承》http://blog.csdn.net/thefutureisour/article/details/7744790提到过: 对于容器,假设定义为基类类型,那么则不能通过容器訪问派生类新增的成员;假设定义为派生类类型,一般不能用它承载基类的对象,即使利用类型转化强行承载,则基类对象能够訪问没有意义的派生类成员,这样做是非常危...