ajax로 input값 서버로 보내는 방법 문의드립니다.
본문
$.ajax({
url:'insert.php',
dataType:'json',
type:'POST',
data:{'test[]':$('#test_'+i).val()}
});
}
setTimeout(function(){
alert("완료");
location.reload();
},650);
});
ajax로 insert.php에 input값을 보낸 뒤 sql insert문으로 데이터를 등록하고 있습니다.
소량은 잘 올라가는데 100개를 한꺼번에 올리려니 중간에 alert가 떠서 data가 누락됩니다.
그래서 setTimeout으로 시간을 지연시킨 뒤 alert뜨도록 해서 누락되지 않고 넘어가게 했습니다.
근데 또 떠블 클릭을 하니 data가 중복으로 올라가져서 낭패네요...
한번 클릭하고 data가 다 올라갈 때까지 클릭이 다른 클릭이 안되게 하려면 어떻게 해야되나요?
그리고 setTimeout으로 시간 고정시켜놓는거 말고 그냥 db가 다 전달되면 alert 뜨도록 할수는 없나요??? 고수님들 도움부탁드립니다..
!-->답변 2
$('button').prop('disabled',true);
$.ajax({
url:'insert.php',
dataType:'json',
type:'POST',
data:{'test[]':$('#test_'+i).val(),
error : function(error) {
alert('오류');
$('button').prop('disabled',false);
},
success : function(data) {
alert("완료");
location.reload();
}
뭐 간단히 하면 이렇게 하면 되지 않을까요? 전송전에 버튼을 비활성화 시키고 성공시에만 버튼을 다시 활성화 시키는걸로
!-->ajax를 반복 문으로 돌리지 마시고 데이터를 묶어서 보내서 받는쪽에서 한번에 처리 하세요
답변을 작성하시기 전에 로그인 해주세요.