wp_verify_nonce not working

时间:2012-09-06 作者:jepser

我正在处理一个ajax请求,我的函数上有几个ajax请求。php。所有这些都在发挥作用,但这:

在我的php上,我有:

add_action("wp_ajax_fb_points", "get_fb_points");
add_action("wp_ajax_nopriv_fb_points", "get_fb_points");

function get_fb_points(){
    if ( !wp_verify_nonce($_REQUEST[\'nonce\'], \'fb_points_nonce\')) {
        exit(\'No naughty business\');
    }
    echo \'yeah\';
    die();
}
在页脚上。php我有:

FB.Event.subscribe(\'edge.create\',
    function(response) {
        if(response == \'<?php echo get_facebook_profile(\'link\'); ?>\') {
            $.ajax({
                url: \'<?php echo admin_url(\'admin-ajax.php\'); ?>\',
                data: { action: \'fb_points\', challenge : 2, nonce : \'<?php echo wp_create_nonce(\'fb_points_nonce\'); ?>\' },
                async: false,
                success: function(data){
                    console.log(data);
                }
            });
        }
    }
);
但我不知道为什么它不起作用,请求-响应是“没有令人恶心的事情”。有谁能帮我找出问题所在吗?

2 个回复
SO网友:jepser

我不知道,我只是在赛道上提交了车票。我在使用get_current_user_id() 并修改wp\\u create\\u nonce行为。

Sinces公司wp_create_nonce 使用wp_get_current_user() 我认为这是个问题。

SO网友:Chris_O

使用ajax传递数据时,我更喜欢使用check_ajax_referer 而不是wp\\u verify\\u nonce。

B.Event.subscribe(\'edge.create\',
    function(response) {
        if(response == \'<?php echo get_facebook_profile(\'link\'); ?>\') {
            $.ajax({
                url: \'<?php echo admin_url(\'admin-ajax.php\'); ?>\',
                data: { action: \'fb_points\', challenge : 2, _ajax_nonce : \'<?php echo wp_create_nonce(\'fb_points_nonce\'); ?>\' },
                async: false,
                success: function(data){
                    console.log(data);
                }
            });
        }
    }
);

function get_fb_points(){
    check_ajax_referer( \'fb_points_nonce\');
    echo \'yeah\';
    die();
}
我相信您的方法不起作用,因为您使用的是$\\u请求而不是$\\u POST。

function get_fb_points(){
    $nonce = $_POST[\'nonce\'];
    if ( !wp_verify_nonce( $nonce, \'fb_points_nonce\')) {
        exit(\'No naughty business\');
    }
    echo \'yeah\';
    die();
}

结束

相关推荐

按自定义帖子类型在帖子页面上进行AJAX搜索

我在我的单个帖子页面上创建ajax搜索时遇到了一个问题。我需要将搜索结果限制为自定义帖子类型“fod\\U视频”和“帖子”以及类别12。我的问题是,搜索将返回这些过滤器下的所有帖子,而不使用搜索值。我想我遗漏了一些明显的东西,但我无法找出答案。这是我的设置。<div class=\"panel\"> <h2>Search Videos</h2> <div id=\"my-search\"> <form role=\