初用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