function formatNewsType(value,row,index) {
var data={};
var data1='';
var myArray=new Array();
$.ajax({
url : headUrl+'/admin/type/getTypeListAll',
xhrFields: {
withCredentials: true
},
data : JSON.stringify(data),
type : 'post',
contentType:'application/json;charset=UTF-8',
dataType : 'json',
success : function(result) {
if (result.code == 1) {
$.messager.alert('操作提示', result.message, 'info');
} else {
data1=result.content.content;
for(var i=0;i<data1.length;i++)
{
if(data1[i].typeNum==value){
myArray.push(data1[i].typeName);
console.log(myArray)//第一处打印
}
}
}
},
error : function(e) {
alert("通信失败!");
}
});
console.log(myArray)//第二处打印(不一样)
for(var i=0;i<myArray.length;i++)//(不执行)
{
return myArray;//(循环了很多次不知为什么)
}
};
把循环去掉直接写返回myArray也不行,在ajax里返回也不行。循环也不执行
问问题要学会问,首先两次不一样,你倒是把两次结果发出来。
第二:
for(var i=0;i<data1.length;i++)
{
if(data1[i].typeNum==value){
myArray.push(data1[i].typeName); //你判断的是type,输出的是typeName然后插进Array.pu,先不考虑是不是为空,你在循环里打印日志和最后打印日志肯定不同,除非只有一条数据。
console.log(myArray)//第一处打印
}
}
第三:
console.log(myArray)//第二处打印(不一样) 这里输出什么?有数据吗? 没有数据下面循环走不下去。
for(var i=0;i<myArray.length;i++)//(不执行)
{
return myArray;//(循环了很多次不知为什么)
}
不执行,说明数组中没有数据哦。