使用admin-ajax.php时出现错误400错误请求

时间:2019-05-02 作者:Kevin Mamaqi

我有一个简单的ajax脚本,可以在WordPress中发送表单。

获取ajax URL的PHP代码是:

wp_localize_script( \'custom_child\', \'jAjax\', array(\'ajax_url\'
=>admin_url(\'admin-ajax.php\')));
此外,我还有in函数。php如下所示:

function enviar_pedido_clientes() {
    // do something with the data to send an email
    wp_mail( $to, $subject, $message, $headers );
    die();
}
add_action( \'admin_ajax_nopriv_pedido_clientes\', \'enviar_pedido_clientes\' );
add_action( \'admin_ajax_pedido_clientes\', \'enviar_pedido_clientes\' );
最后,在我的。js公司:

$(\'#enviar_fotos\').on(\'click\', function(event) {
            event.preventDefault();
            /* Act on the event */
            data = {
                \'action\': \'pedido_clientes\',
                \'nombreCliente\': \'pedro\', // that\'s how we get params from wp_localize_script() function
                \'emailCliente\' : \'[email protected]\'
            };
            $.ajax({
                url: jAjax.ajax_url,        // URL to "wp-admin/admin-ajax.php"
                data: data,
                method: "POST",             // use $_POST request to submit data
                // success:function( data ) {
                //  $( \'#probando\' ).html( data );
                // },
                error: function(){
                    console.log(\'Ha habido un error\'); // error
                }
            });
        });
我浏览了很多帖子,试图找到错误,但我找不到。

1 个回复
最合适的回答,由SO网友:Sally CJ 整理而成

挂钩前缀错误—应该是这样的wp_ 而不是admin_:

add_action( \'admin_ajax_nopriv_pedido_clientes\', \'enviar_pedido_clientes\' );
add_action( \'admin_ajax_pedido_clientes\', \'enviar_pedido_clientes\' );
因此,正确的代码是:

add_action( \'wp_ajax_nopriv_pedido_clientes\', \'enviar_pedido_clientes\' );
add_action( \'wp_ajax_pedido_clientes\', \'enviar_pedido_clientes\' );

相关推荐

如何重命名WordPress AJAX URL?

我目前正在寻找更改/隐藏默认WordPress的方法admin-ajax.php URL。我想这样做以删除admin 当我使用AJAX URL从我的服务器读取例如一个文件时,它可以防止我的客户产生误解。在这种情况下,URL具有admin前缀,这有点令人困惑。因此,AJAX URl应如下所示:ajax.php我搜索了一下,但找不到任何有用的信息。因此,我无法向您显示任何相关代码。但当我得到它时,我会更新我的问题以帮助其他人。也许有人以前做过这件事,可以给我一些有用的提示,以便我尽快实施?这将是非常棒的!