나는이 같은 항상 사용 무언가 :
$("a.button").click(function() {
data = ...;
url = ...;
$.post(url, data, function() {
$(this).toggleClass('active');
});
});
사용자가 해당 버튼을 느린 연결과 클릭이있는 경우 문제가 아무것도 할 것으로 보인다하지 않는 것입니다, 요청이 완료되면 버튼이 자신의 상태 (active
클래스 추가)를 변경하기 때문입니다. 물론 요청을로드하는 동안 회 전자를 추가하여이 동작을 "수정할"수 있습니다.
지금이 하나를 체크 아웃 : 버튼을 누를 때 즉
$("a.button").click(function() {
$(this).toggleClass('active');
data = ...;
url = ...;
$.post(url, data, function() {
// if request is successful do nothing
// else, if there's an error: $(this).toggleClass('active)
});
});
, 나는 즉시 버튼의 상태를 변경하고,이 후, 나는 성공/오류가 있는지 점검합니다. 이것은 좋은 방법입니까? 당신이 무엇에 대해 생각하는지? 다른 방법이 있습니까?
다릅니다 ... Ajax 요청의 전체 시간 동안 또는 사용자가 클릭하는 순간 활성 상태로 버튼을 설정 하시겠습니까? – Nabab
예, 설명에 따르면 좋은 방법입니다. –
또한 $ .post 안에 $ (this)를 사용할 수 없습니다. 먼저 정의해야합니다 :'var $ t = $ (this); $ .post (.... function() {$ t.toggleClass (..' – Nabab