programing

아약스 성공 함수

lastmoon 2023. 8. 20. 12:28
반응형

아약스 성공 함수

저는 Ajax 게시물을 사용하여 서버에 양식 데이터를 제출하고 검증된 다음 데이터가 유효하고 저장될 수 있는지 여부에 따라 메시지를 반환합니다.하지만 아약스 게시물의 성공 기능은 실행되지 않습니다.다음은 Ajax 게시물과 성공 메시지 표시입니다.

jQuery.ajax({           
    type:"post",
    dataType:"json",
    url: myAjax.ajaxurl,
    data: {action: 'submit_data', info: info},
    success: function(data) {
        successmessage = 'Data was succesfully captured';
    }
});

$("label#successmessage").text(successmessage);
$(":input").val('');
return false;

하지만 라벨에는 메시지가 표시되지 않습니다.코드에서 성공 메시지 변수를 설정 값으로 설정하려고 했는데 정상적으로 표시되어 성공 기능에 문제가 있는 것 같습니다. 무엇이 보이지 않습니까?또한 다음과 같은 오류 콜백 설정을 시도했습니다.

error: function(data) {             
    successmessage = 'Error';
},

그러나 여전히 메시지가 표시되지 않습니다.

왜냐하면 Ajax는 비동기식이기 때문입니다.success또는error함수는 나중에 서버가 클라이언트에 응답할 때 호출됩니다.결과에 따라 부품을 다음과 같이 성공 기능으로 이동합니다.

jQuery.ajax({

            type:"post",
            dataType:"json",
            url: myAjax.ajaxurl,
            data: {action: 'submit_data', info: info},
            success: function(data) {
                successmessage = 'Data was succesfully captured';
                $("label#successmessage").text(successmessage);
            },
            error: function(data) {
                successmessage = 'Error';
                $("label#successmessage").text(successmessage);
            },
        });

        $(":input").val('');
        return false;

위의 답변으로는 제 문제를 해결할 수 없습니다.그래서 알림 메시지를 받기 위해 비동기식을 거짓으로 변경합니다.

jQuery.ajax({
            type:"post",
            dataType:"json",
            async: false,
            url: myAjax.ajaxurl,
            data: {action: 'submit_data', info: info},
            success: function(data) {
                alert("Data was succesfully captured");
            },
        });

언급URL : https://stackoverflow.com/questions/22892706/ajax-success-function

반응형