为什么WP AJAX总是返回0?

时间:2014-12-07 14:17:28

标签: javascript php ajax wordpress

试图得到答案,但返回0。 JS头脑中:

q = new XMLHttpRequest();
q.open('POST', ajaxUrl);
q.onreadystatechange = function () {
    if (q.readyState === 4) {
        console.log(q.response);
    }
};

var data = {
    'action': 'check_email'
};
q.send(JSON.stringify(data));

ajaxUrl链接到admin_url('admin-ajax.php'); function.php中的代码:

function check_email() {
    echo 'true or false';
    die();
}
add_action('wp_ajax_check_email', 'check_email');
add_action('wp_ajax_nopriv_check_email', 'check_email');

2 个答案:

答案 0 :(得分:1)

假设json请求有效,请将content-type设置为json

q.setRequestHeader('Content-Type', 'application/json');

如果不发送application/x-www-form-urlencoded

q.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
...
q.send('action=check_email');

答案 1 :(得分:0)

q.responseText是您正在寻找的。