WordPress admin-ajax.php错误请求400 - php

您好,我正在做“保存以供以后在我的网站中使用”功能
但是当我单击按钮时,我收到管理员ajax错误的请求

functions.php

function zumra_scripts() { wp_register_script( 'remove-prodduct-from-list', get_template_directory_uri() . '/js/remove-product.js', array('jquery'), false, true );     wp_localize_script( 'remove-prodduct-from-list', 'sfl_ajax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )) );
    if ( is_page('savelist') ) {
        wp_enqueue_script( 'remove-prodduct-from-list' );
    }

}
add_action( 'wp_enqueue_scripts', 'zumra_scripts' );

save-for-later.php

  <?php

add_action( 'wp_ajax_my_action', 'my_action' );

function my_action() {
    $user =         $_POST['user'];
    $post_id =      $_POST['post_id'];
    $response =     $_POST['saveForLater'];
    $response .= '<a href="'. site_url("/savelist") .'">'. __( 'Browse Savelist', 'zumra' ) .'</a>';

    add_user_meta( $user, 'product_id', $post_id);

    echo $response;

    wp_die(); // this is required to terminate immediately and return a proper response
}

add_action( 'wp_ajax_remove_product_from_list', 'remove_product_from_list' );
function remove_product_from_list() {
    $user =     intval( $_POST['user'] );
    $product =  intval( $_POST['product'] );

    delete_user_meta( $user, 'product_id', $product);

    wp_die(); // this is required to terminate immediately and return a proper response
}

add_action( 'wp_ajax_move_to_cart', 'move_to_cart' );
function move_to_cart() {
    $user =     intval( $_POST['user'] );
    $product =  intval( $_POST['product'] );

    delete_user_meta( $user, 'product_id', $product);

    // do_action( 'woocommerce_ajax_added_to_cart', $product );
    // wc_add_to_cart_message( $product );

    wp_die(); // this is required to terminate immediately and return a proper response
}

save-for-later.js

    jQuery(document).ready(function($) {
    $('.ajax-form').on('submit',function(e){
        e.preventDefault();
        var data = {
            'action': 'my_action',
            'saveForLater': sfl_ajax.response,
            'user':         sfl_ajax.user,
            'post_id':      sfl_ajax.post_id,
            'product_id':   sfl_ajax.user_product,
        };

        // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
        jQuery.post(sfl_ajax.ajaxurl, data, function(response) {
            $('.save-for-later').html(response);
        });
    });
});

我不知道我在做什么错
每当我单击添加以保存以供以后使用按钮时,我都会收到错误admin-ajax.php 400

参考方案

尝试在您的php文件中使用以下代码:

function zumra_scripts() {
          wp_register_script( 'remove-prodduct-from-list', get_template_directory_uri() . '/js/remove-product.js', array('jquery'), false, true );

          wp_localize_script( 'remove-prodduct-from-list', 'sfl_ajax', array(
            'ajaxurl'         => admin_url( 'admin-ajax.php' ),
            'user'.           => get_current_user_id(),
            'post_id'         => get_the_ID(),
            'user_product'    => get_the_ID(), // custom function if any
            'response'        => your_custom_function(), // if any
          );

          if ( is_page( 'savelist' ) ) {
             wp_enqueue_script('remove-prodduct-from-list');
          }
}

add_action( 'wp_enqueue_scripts', 'zumra_scripts' );

具有Ajax调用和php功能的Wordpress投票系统不起作用 - php

我正在尝试为我的Wordpress博客创建一个投票系统,但是我编写的代码不会更新为投票创建的元数据字段,并且每次我调用该函数添加投票时,都会获得返回的值1,这是我编写的代码:首先在文章的html部分中,我创建了一个链接,该链接通过javascript调用loadurl():<a onclick="loadurl()" class=&…

防止使用Jquery(ajax)重新加载页面的最佳方法是什么? - php

摘要:我有:1)主页(Main.php)2)简单的.js脚本文件(dashboard.js)3)另一个简单的.php文件(form1.php)4)process.php,一个处理.js文件(process.php)发送的信息的文件就像tumblr一样,我试图重新创建相同的“导航”体验-单击几个选项,用新代码替换主面板,并在填写某些表格时将该信息发送到BD并将…

从列表中排除类别-Wordpress - php

我正在尝试从以下列表中排除类别:<?php $categories = get_categories( 'orderby=id&exclude=1,'. getOption('promo-categorie', false) ); foreach( $categories as $category ) :…

WordPress wp_register_script函数未在页脚中加载脚本 - php

我正在尝试在正文完成之前在博客的页脚中加载Google托管的JQuery。这是我在functions.php文件中使用的功能。function load_jquery() { if (!is_admin()) { wp_deregister_script('jquery'); // load the Google API copy in …

Ajax在“最新帖子”小部件wordpress中加载更多按钮 - php

我创建了最近发布的Wordpress小部件,并尝试为其创建“加载更多”按钮以通过ajax(例如twitter)获取更多“最近发布的链接”,是否有任何制作方法的教程? 参考方案 看一下infinite scroll插件的来源,它确实可以满足您的需求,并且开发类似的东西,this可以为您提供帮助。