• 微信小程序中wx.request传参问题,参数json格式


    初用swagger文档的接口,对于一些参数说明有些不清楚,关键词如下:

    1.Data type :string

    2.parameter concent type:application/json

    尝试1:

     1 formSubmit:function(e){
     2     console.log(typeof(this.data.idCard));               //查看当前输入身份证号的类型
     3     var idCard = JSON.stringify(this.data.idCard);       //想将字符串转成json对象
     4     console.log(typeof (this.data.idCard));              //查看是否转换成功
     5     wx.request({
     6       url: "某接口地址",
     7       method: "get",
     8       data: {
     9         "msg":this.data.idCard      
    10       },
    11       header: {
    12         "Content-Type":"application/json;charset=UTF-8"
    13       },
    14       success: function (res) {
    15         console.log(res);
    16         },
    17     })
    18       },

           结果报错,返回码500,上网查资料,可能有两个原因:内部服务器错误(后台测试了没有错),和我传参格式错了。果然,字符串并没有转换成功。

    对于JSON.stringify正确用法应该是:

          JSON.stringify() 方法用于将 JavaScript 值(通常为对象和数组)转换为 JSON 字符串。所以字符串在此转换不了。

          那么我们换一个:JSON.parse() 方法用于将一个 JSON 字符串转换为对象。同样尝试也不行,因为这个字符串并不是json字符串。

          正确用法请移步:https://www.cnblogs.com/xmjs/p/12404303.html

          求助同学:得把它转成一个json对象。于是我又在网上搜索了一些方法,都没成功。

    其中有我在看书的时候看到的eval函数,具体方法如下:

      var json = eval('(' + str + ')');   报错eval函数不存在?(存疑)

    尝试2:决定手动改json格式 

     formSubmit:function(e){
        wx.request({
          url: "某接口地址",
          method: "get",
          data: {
            "msg":{
              "idCard": this.data.idCard,
            }
          },
          header: {
            "Content-Type":"application/json;charset=UTF-8"
          },
          success: function (res) {
            console.log(res.data);
            },
        })
          },
    

          成功调用接口,得到数据!

            data type在这里还没有用到,用法请移步:https://www.cnblogs.com/xmjs/p/12404303.html

  • 相关阅读:
    汽车租赁系统
    两种设计模式(2)==>>"单例"
    两种设计模式(1)==>>“简单工厂”
    面向对象设计的七大原则
    springboot中的mybatis是如果使用pagehelper的
    vue
    vue
    vue
    idea快捷键
    idea部署tomcat项目时,在项目里打断点不能拦截
  • 原文地址:https://www.cnblogs.com/xmjs/p/12370217.html
Copyright © 2020-2023  润新知