函数返回数据类型array的问题
发布于 6 年前 作者 naqiao 2492 次浏览 来自 问答

我在一个js中封装了一个功能,其中函数返回的数据类型应该是array,代码如下:

function get_city(country, province) {

   var that = this;

   var tmp = [];

   wx.request({

     url: https://dddd/c/get_datas2.asp,//请求地址

     data: {//发送给后台的数据

       stat: encryption_fun.get_encrypted_str(‘1’),

       un: encryption_fun.get_encrypted_str(’ 3333’),

       pw: encryption_fun.get_encrypted_str(‘cb881b17313df22ffea35466cd8ca0c7’),

       sql: encryption_fun.get_encrypted_str(‘cmd),

     },

     header: {//请求头

       “Content-Type”: “applciation/x-www-form-urlencoded”

     },

     method: “GET”,//

     success: function (res) {

       var txt = encryption_fun.get_decode_base64(res.data);

       var XMLParser = new parser.DOMParser();

       var doc = XMLParser.parseFromString(txt);

       var vals = doc.getElementsByTagName(“city”);

       var tmp_array = new Array();

       for (var i = 0; i < vals.length; i++) {

         tmp.push(vals[i].firstChild.nodeValue.toString());

       }

     },

     fail: function (err) {

       console.log(“fail”);

     },//请求失败

     complete: function () {

       console.log(“complete”);

     }//请求完成后执行的函数

   })

   return tmp;

 }

上面的函数执行后返回的数据类型用console.log(typeof obj);打印出来是object类型,console.log(obj);可以看到数据,如下图:

但是使用console.log(obj.length);打印出来的数值却是0,导致现在我没有办法去遍历此返回的数据,是什么原因呢?

回到顶部