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