Eu recomendaria usar wp_send_json_success () e wp_send_json_error () no lado do servidor.
Você não precisa se preocupar com die () etc e a variável "status" é enviada automaticamente, é muito mais limpa dessa maneira. Por exemplo
function ajaxConversion(){
// ...
wp_send_json_success(array(
'amount' => $amount
));
}
Resultará em algo assim:
{
"success":true,
"data":{"amount":125}
}
Então você pode facilmente extrair os valores em sua chamada ajax:
jQuery.ajax({
type : 'post',
data : {
action: 'ajaxConversion',
//nonce : ajax.nonce
},
dataType : 'json',
url : ajax.ajaxurl,
success : function(data){
if(data.success) {
alert(data.amount);
} else {
alert(data.data.message);
}
}
});
Outra coisa comum que eu encontrei são erros de digitação no nome da ação. Eles devem ser wp_ajax_nopriv_ {action} ou
wp_ajax_ {action} quando logado. Por exemplo, wp-ajax_nopriv, é um que fiz várias vezes no passado.