簡體   English   中英

無法將變量從 jquery 傳遞到 php

[英]Can not pass variable from jquery to php

我想在同一頁面上將一個變量從 jquery 傳遞給 PHP(我使用的是 WordPress)。

我嘗試使用像這樣的 ajax 帖子:

<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 結果是 null..

我不知道..有人可以幫助我嗎? 提前致謝:)

在 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 );
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM