加个标记达到同步效果~

前端之家收集整理的这篇文章主要介绍了加个标记达到同步效果~前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

————————————————————————————————————————————————————————————————————————————

修改前:

function save() {
var jsonarray=[];
var jsonText;
$("table tr").each(function(i){
if(i!=0){
var widgetId;
var isChecked;
var column;
var row;
var check = document.getElementsByName("check");
if(check[i-1].checked == true){
isChecked = true;
}else{
isChecked = false;
}

widgetId=check[i-1].value;

$(this).children("td").each(function(j){
if(j==2){
column=$(this).text();
}else if(j==3){
row=$(this).text();
}

});

var obj={
"widgetId":widgetId,
"isChecked":isChecked,
"column":column,
"row":row
};
jsonarray.push(obj);
var jsonList = eval(jsonarray);
jsonText = JSON.stringify(jsonList);
}
});

$.ajax({
type: 'POST',
url: "${ctx }/erp/widgetUserConfig.action?method:saveDesktopSet",
dataType: 'json',
data: {
jsonarray:jsonText
},
success : function(data) {
var json = eval(data);
var flag = json.flag;
if(flag == "true"){
alert("保存成功!");
}}
});

}
}


问题:连续点击按钮会导致数据的重复保存!


————————————————————————————————————————————————————————————————————————————

给ajax加个同步,使得未保存完情况下不能发送第二次保存的执行,但是ajax同步处理会卡顿,在马老师的指导下加了个标记

修改后:

function save() { var saveFlag=false; //标记保存与否 var jsonarray=[]; var jsonText; if(!saveFlag){ //未保存则。。;已保存则停下来 $("table tr").each(function(i){ if(i!=0){ var widgetId; var isChecked; var column; var row; var check = document.getElementsByName("check"); if(check[i-1].checked == true){ isChecked = true; }else{ isChecked = false; } widgetId=check[i-1].value; $(this).children("td").each(function(j){ if(j==2){ column=$(this).text(); }else if(j==3){ row=$(this).text(); } }); var obj={ "widgetId":widgetId,"isChecked":isChecked,"column":column,"row":row }; jsonarray.push(obj); var jsonList = eval(jsonarray); jsonText = JSON.stringify(jsonList); } }); $.ajax({ type: 'POST',url: "${ctx }/erp/widgetUserConfig.action?method:saveDesktopSet",dataType: 'json',data: { jsonarray:jsonText },success : function(data) { var json = eval(data); var flag = json.flag; if(flag == "true"){ alert("保存成功!"); saveFlag=true; //已保存 }} }); } }

原文链接:https://www.f2er.com/ajax/162136.html

猜你在找的Ajax相关文章