我在一个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,导致现在我没有办法去遍历此返回的数据,是什么原因呢?51微信小程序setInterval进入带地图页面。