1
Ajax 요청 전후에 하나의 함수를 호출하려고합니다. 먼저 "loading"을 전달하면로드하는 gif가 표시됩니다. 아약스 성공시 성공 메시지를 전달하고이를 대신 표시합니다. 여기 ajax 전후에 jQuery 함수가 이상하게 동작 함
내 JS/JQuery와$.fn.loading_success = function(action) {
// action var is either "loading" or a success message
this.siblings('div.loading').remove();
this.siblings('div.success').remove();
console.log(action);
if(action == 'loading') {
this.after('div class="loading"> /div>'); // note this would actually be kosher html
} else {
this.after('div class="success">' + action + '/div>'); // like above, kosher html
}
return this;
}
$('.action').on('click', function(e) {
e.preventDefault();
$(this).loading_success('loading');
var dataPass = 'goodbye='+ 'world';
$.ajax({
type: "POST",
url: "/echo/json/",
data: dataPass,
cache: false,
success: function(){
var success_message = "We've got a winner!";
$(this).loading_success(success_message);
}
});
});
과 JSfiddle이 here입니다.
내 실제 AJAX 응답은 약간 다르게 보이지만 재 작성하여 jsfiddle에서 작동합니다.
이상한 점은 콘솔 로그에 예상되는 두 가지 응답이 표시된다는 것입니다. 나는 이것이 바보 같은 jquery 오류 인 것처럼 느낀다. 그러나 나는 그것에 대해 생각한다. 그러나 나는 혼란 스럽다.
, 나는 $의 .post '이 추가 어떻게 당신에게 –
감사 (MyAjax.ajaxurl, { 액션 : 'update_gallery', 게시물 : form_elements,}, 함수 (응답) {\t // 성공}); 거짓을 반환합니다. '나는 많은 것을 시도했지만 그것을 이해할 수 없다! –
var 버튼 = $ (이)를 설정하는 것이 훨씬 쉬웠지만 어쨌든 고맙습니다! –