我建议使用wp_send_json_success() 和wp_send_json_error() 在服务器端。您不需要担心die()等,而“status”变量是自动发送的,这样更干净。例如
function ajaxConversion(){
// ...
wp_send_json_success(array(
\'amount\' => $amount
));
}
将导致如下结果:
{
"success":true,
"data":{"amount":125}
}
因此,您可以轻松地提取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);
}
}
});
我遇到的另一个常见问题是动作名称的拼写错误。他们应该是
wp_ajax_nopriv_{action} 或
wp_ajax_{action} 登录时。例如,wp-ajax\\u nopriv,就是我过去做过多次的一个。