先上代码:
// // AJAX 流程
$.ajax({
type: "POST",
dataType: "json",
data: {"objectId": objectId},
async: false,
url: "allTask.jsp" ,
success: function(result){
// AJAX返回数据 处理逻辑
step_curr = steps_arr.indexOf(result["current"])+1;
//截取 至 curr状态
curr_arr = steps_arr.slice(0, step_curr);
// 遍历对象 result
for(var e in result){
if(条件...){
objj["XXX"] = result[e];
} else {
var _j = curr_arr.indexOf(e.slice(6));
if( _j > -1){
objj[""+curr_arr[_j]] = result[e];
}
}
}
// 类 group33, 操作显示。(.group33 初始是内联样式: display:none)
curr_name = result["current"];
$.each(result, function(index, value, array){
if(条件...)){
for(var k=0; k<value.length; k++){
if(条件A && 条件B) {
**$(".group33").show();
$("#submit").attr("data-tid", "xxxx");**
break;
}
}
}
});
//以下是ystep....
$(".ystep").loadStep({
steps: steps_arr,
step: step_curr,
objj: objj
});
$(".ystep").setStep(step_curr);
},
error:function(e,r,a){
console.log("异常!!");
}
});
代码如上,
目标;执行以下两句语句:
$(".group33").show();
$("#submit").attr("data-tid", "xxxx");
实际情况:
在浏览器调试模式(且打了断点)下,代码确实进去执行了以上两句语句。
但是,在浏览器正常模式下,这两句语句没有被执行....
====(求问大神...)============
WHY?
是不是ajax异步的原因?(但我没找到任何异步造成的... 理由)
.....
你上面设置了不使用异步,应该不是异步的原因。但是有一点,你对result进行了两次遍历,第一次用for,遍历的是对象,第二次用$.each,遍历的是数组,那这个result的类型是什么呢。