AJAX响应为0,而不是‘脚本’

时间:2014-02-10 作者:Ollicca Mindstorm

我不断得到回应0 而不是string, 这是我的功用。为什么?

代码来自functions.php

// enque test.js
function add_script() {
    wp_enqueue_script(
        \'test\',
        get_stylesheet_directory_uri() . \'/js/test.js\',
        array( \'jquery\' )
    );
    wp_localize_script(\'test\', \'ajax_object\', array( \'ajax_url\' => admin_url( \'admin-ajax.php\' )));
}
add_action( \'wp_enqueue_scripts\', \'add_script\' );

// ajax function
function my_AJAX_processing_function(){
   echo \'string\';
}
add_action(\'wp_ajax_nopriv_ACTION_NAME\', \'my_AJAX_processing_function\');
代码来自test.js

$(function () {

    var data = {
        action: \'ACTION_NAME\'
    };

    jQuery.post(ajax_object.ajax_url, data, function(response) {
        alert(\'Got this from the server: \' + response);
    });

});

1 个回复
SO网友:vancoder

Ajax回调必须始终以die()结尾,才能在WP中正常工作。

结束

相关推荐

在帖子中显示用于大图像的AJAX预加载器

我们的WordPress安装只运行帖子中的图像。通常是中等、轻量级的图像,但我们也发布较大的图像,有时是gif动画,加载时间很长。当一篇文章有描述时,它就有点不同了。访问者有东西要读,然后加载时图像会弹出,但这不是我们的情况。正如我所说,我们只在帖子中显示图像。当一个帖子包含一个大图像时,在加载图像之前它是空的,我相信我们因此失去了很多未来可能的常客。他们可能会相信我们有空头支票。我的解决方案是显示一个微型(ajax?)预加载,直到加载图像,以便通知访问者正在加载某些内容。我怎样才能做到这一点?