ajax로 input값 서버로 보내는 방법 문의드립니다. 채택완료
지음ad
7년 전
조회 2,292
</p>
<p> $.ajax({
url:'insert.php',
dataType:'json',
type:'POST',
data:{'test[]':$('#test_'+i).val()}
});
}
setTimeout(function(){
alert("완료");
location.reload();
},650);
});</p>
<p>
ajax로 insert.php에 input값을 보낸 뒤 sql insert문으로 데이터를 등록하고 있습니다.
소량은 잘 올라가는데 100개를 한꺼번에 올리려니 중간에 alert가 떠서 data가 누락됩니다.
그래서 setTimeout으로 시간을 지연시킨 뒤 alert뜨도록 해서 누락되지 않고 넘어가게 했습니다.
근데 또 떠블 클릭을 하니 data가 중복으로 올라가져서 낭패네요...
한번 클릭하고 data가 다 올라갈 때까지 클릭이 다른 클릭이 안되게 하려면 어떻게 해야되나요?
그리고 setTimeout으로 시간 고정시켜놓는거 말고 그냥 db가 다 전달되면 alert 뜨도록 할수는 없나요??? 고수님들 도움부탁드립니다..
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
7년 전
</p>
<p>$('button').prop('disabled',true);</p>
<p>$.ajax({</p>
<p> url:'insert.php',</p>
<p> dataType:'json', </p>
<p> type:'POST',</p>
<p> data:{'test[]':$('#test_'+i).val(),</p>
<p> error : function(error) {</p>
<p> alert('오류');</p>
<p> $('button').prop('disabled',false);</p>
<p> },</p>
<p> success : function(data) {</p>
<p> alert("완료");</p>
<p> location.reload();</p>
<p> }</p>
<p>
뭐 간단히 하면 이렇게 하면 되지 않을까요? 전송전에 버튼을 비활성화 시키고 성공시에만 버튼을 다시 활성화 시키는걸로
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
지음ad
7년 전
아 도움 감사합니다. ^^ success는 반복문을 사용하면 계속 뜰 수 밖에 없나요?
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인