javascript - 为什么我的 ajax 请求得到响应 0?

标签 javascript php jquery ajax wordpress

我已经在我的 wp 主题中设置了基本的 wordpress ajax 示例。触发器由检查页面上的媒体查询的 modernizr.js 生成。

jQuery(document).ready(function($) {
    if(Modernizr.mq('only all and (max-width:6300px)')) {
        var data = {
        action: 'my_action',
        whatever: ajax_object.we_value      // We pass php values differently!
    };
    // We can also pass the url value separately from ajaxurl for front end AJAX implementations
        jQuery.post(ajax_object.ajax_url, data, function(data) {
            $("#trending-Container").html(data).fadeIn(1000);
        });
    }

});//end function 

我已将我的脚本本地化并加入队列。

wp_enqueue_script('mainJS', get_template_directory_uri() . '/js/mainJS.js', array("jquery") );
wp_localize_script( 'mainJS', 'ajax_object', 
                    array( 'ajax_url' => admin_url( 'admin-ajax.php' ), 'we_value' => 1234 ) );

最后处理请求的函数是:

add_action('wp_ajax_my_action', 'my_action_callback');
add_action('wp_ajax_nopriv_my_action', 'my_action_callback');
function my_action_callback() {
        global $wpdb;
            $whatever = intval( $_POST['whatever'] );
            $whatever += 10;
                echo $whatever;
            die();

        }

这不断给我 0 的响应(无属性),我不知道为什么。 P.S 这都是本地的。

Status code 200
Host:lart.co.uk
Origin:http://lart.co.uk
Referer:http://lart.co.uk/
User-Agent:Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/28.0.1500.71 Chrome/28.0.1500.71 Safari/537.36
X-Requested-With:XMLHttpRequest
Form Dataview sourceview URL encoded
action:my_action
whatever:1234

最佳答案

这里的一切都必须匹配:

PHP

add_action('wp_ajax_my_action',        'my_action');
add_action('wp_ajax_nopriv_my_action', 'my_action');

function my_action() {}

JS

var data = {
    action: 'my_action',
    whatever: ajax_object.we_value 
};

此外,您缺少安全检查和更好的响应处理。
检查这个例子:[ 1 ][ 2 ] .

关于javascript - 为什么我的 ajax 请求得到响应 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19370223/

相关文章:

javascript 鼠标点击错误

php - 如何执行这个更新查询?

php mysql 依次显示结果

jquery - 满足条件时如何退出 $.each 函数

javascript - 在某个 div 下停止 body 滚动

javascript - 是否使用 WebSocket 或服务器发送事件从实时检索社交网络状态的服务器发送通知?

c# - 使用 MongoDB 和 ASP.NET MVC 构建 Web 应用程序,我应该使用 C# 驱动程序还是 Javascript 驱动程序

javascript - 带有jquery的javascript中的函数范围

javascript - jwplayer 从 yell cdn 流式传输

php - 如何在 OSX 上为 XAMPP 安装 PHP MongoDB 驱动程序?