无法将变量从 jquery 传递到 php

我想在同一页面上将变量从 jquery 传递到 PHP(我使用的是 WordPress)。


我尝试使用像这样的ajax post:


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<script type="text/javascript">

$(document).ready(function(){

        $("li.year-item a").click(function(){

            $post = $(this);

            $.ajax({

                type  : "POST",

                url: "https://example.com/exhibition/",

                data: {yearValue: $($post).attr("value")},

                success: function (data) {

                    console.log(data);

                }

            })

        });

    });

</script>

我在脚本标签下面得到了 post 变量:


<?php var_dump($_POST['yearValue']); ?>

但 var_dump 结果为空..


我不知道..任何人都可以帮助我吗?提前致谢 :)


DIEA
浏览 97回答 1
1回答

温温酱

在 Wordpress 中,您应该使用内置的Ajax 机制。$.ajax({    type  : "POST",    url: "https://your-site.com/wp-admin/admin-ajax.php",    data: {        action: 'retrieve_yearvalue',         yearValue: $($post).attr("value"),        test: 'Test is ok'    },    success: function (data) {        console.log(data);    }})在 PHP 端:add_action( 'wp_ajax_retrieve_yearvalue', 'my_year_retrieve_function' );add_action( 'wp_ajax_nopriv_retrieve_yearvalue', 'my_year_retrieve_function' );function my_year_retrieve_function() {    $yearValue = $_REQUEST['yearValue'];    $test = $_REQUEST['test'];        $response = array(        'recieved_year' => $yearValue,        'test_data' => $test    );        wp_send_json( $response );}
打开App,查看更多内容
随时随地看视频慕课网APP