Функция успеха Ajax

Я использую пост Ajax для отправки данных формы на сервер, проверки и возврата сообщения на основании того, были ли данные действительны и могут быть сохранены. Моя функция успеха в моем сообщении 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; 

Однако на этикетке не отображается сообщение. Я попытался установить переменную successmessage в заданное значение в коде, и он отобразился отлично, поэтому в моей функции успеха должно быть что-то не так, я просто не вижу, что? Я также попытался установить обратный вызов ошибки следующим образом:

 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; 

Ответ, приведенный выше, не может решить мою проблему. Поэтому я изменяю async на 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"); }, });