Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Wordpress admin-ajax.php正在消亡”;0“;无处理功能_Javascript_Php_Jquery_Ajax_Wordpress - Fatal编程技术网

Javascript Wordpress admin-ajax.php正在消亡”;0“;无处理功能

Javascript Wordpress admin-ajax.php正在消亡”;0“;无处理功能,javascript,php,jquery,ajax,wordpress,Javascript,Php,Jquery,Ajax,Wordpress,我正在尝试学习如何以正确的方式处理Wordpress中的AJAX请求。为此,我正在修改创建一个超级简单的AJAX请求,将帖子的ID(来自链接)放入我的页面内容中 逻辑 当点击#我们的工作a链接时[js] 获取post ID(从数据ID属性中),并将其存储为POSID变量[js] 通过AJAX传递postID(使用WP的admin AJAX.php文件)[js] example\u ajax\u request函数将获取ID并简单地回显它[php] 如果成功,将服务器响应附加到#herodiv 我

我正在尝试学习如何以正确的方式处理Wordpress中的AJAX请求。为此,我正在修改创建一个超级简单的AJAX请求,将帖子的ID(来自链接)放入我的页面内容中

逻辑

  • 当点击
    #我们的工作a
    链接时[js]
  • 获取post ID(从
    数据ID
    属性中),并将其存储为
    POSID
    变量[js]
  • 通过AJAX传递
    postID
    (使用WP的
    admin AJAX.php
    文件)[js]
  • example\u ajax\u request
    函数将获取ID并简单地回显它[php]
  • 如果成功,将服务器响应附加到
    #hero
    div
  • 我意识到这没有任何好处,但一旦我有了这项工作,我将修改功能,以达到真正的目的

    我的代码

    这是我在plugins文件夹中创建的函数的副本:

    wp_enqueue_脚本('myajax请求',plugin_dir_url('uuu文件'),'acl plugin.js',数组('jquery');
    wp_本地化_脚本('MyAjax请求','MyAjax',数组('ajaxurl'=>admin_url('admin ajax.php'));
    函数示例\u ajax\u请求(){
    如果(isset($\请求)){
    $postID=$_请求['postID'];
    echo$posted;
    }
    模具();
    }
    添加动作('wp_ajax_nopriv_example_ajax_request','example_ajax_request');
    
    这是JS文件的副本

    jQuery(文档).ready(函数($){
    $(“#我们的工作a”)。单击(函数(){
    var postID=$(this.attr(“数据id”);
    $.ajax({
    url:MyAjax.ajaxurl,
    数据:{
    'action':'example_ajax_request',
    “posted”:posted
    },
    成功:功能(数据){
    $(“#hero”).append(“这似乎有效”+数据);
    },
    错误:函数(错误抛出){
    log(“这引发了一个错误:“+ErrorSwink”);
    }
    });
    返回false;
    });
    });
    
    问题

    点击链接后,JS会触发,但会产生以下响应:

    <div id="hero">
        Well this seems to work 0
    </div>
    
    
    好吧,这似乎有效
    
    通过使用警报,我知道在AJAX请求之前正在提取ID。所以问题出在我的功能上。为了了解更多信息,我(暂时)调整了WP的
    admin ajax.php
    文件,以便找出哪个
    die()产生的响应为“0”


    这是文件中我认为不会触发的最后一个,因为我有一个
    die()我自己的函数中的命令。有人能指出我错在哪里吗?

    这是我能自豪地说的少有的几次。。。这里没有任何问题

    服务器返回
    0
    的原因是我已登录!
    wp\u ajax\u nopriv\u示例\u ajax\u请求
    仅适用于未登录的用户。注销后,这一切正常

    因此,如果您希望执行相同的操作,只需确保在函数下面有两个操作:

    add_action( 'wp_ajax_example_ajax_request', 'example_ajax_request' );
    add_action( 'wp_ajax_nopriv_example_ajax_request', 'example_ajax_request' );
    

    非常感谢你!wp_ajax_nopriv就是我丢失的那个。救了我。谢谢兄弟!!!