簡體   English   中英

jQuery ajax 將變量傳遞給 php session,但 php session 不存儲它

[英]jQuery ajax pass variable to php session, but php session not store it

我嘗試將 class 添加到正文中,並將其存儲在 php session 中。我使用 ajax 來完成,但 php session 不存儲它。 變量傳遞正確。 Session開始於php function。

(function ($) {
    jQuery(document).on('click', '#wcag-button', function () {
        $('body').attr('id', 'wcag-theme');
        $('#wcag-button').hide();
        $('#wcag-button-off').show();

        var data = {
            'action': 'wcag_contrast_on',
            'bodyClass': 'wcag-theme'
        }
        $.post(Theme_Variables.ajax_url, data, function(response) {
            console.log(response);
        });
    });
})(jQuery);


add_action('wp_ajax_wcag_contrast_on', 'wcag_contrast_on');
add_action('wp_ajax_nopriv_wcag_contrast_on', 'wcag_contrast_on');

    function wcag_contrast_on() {
        session_start();
        $body_class=$_POST['bodyClass'];
        $_SESSION["usertemplate_css"] = $_POST['bodyClass'];
        //echo 'You sent ' . $body_class;
        echo ($_SESSION["usertemplate_css"]);
        $response['message']    = "Successfull Request";
        echo json_encode($response);
        wp_die();
    }

我也嘗試在 header 中啟動 session,但無法正常工作。

請嘗試以下解決方案使用 WordPress Init Hook

add_action('init', 'set_session'); 
function set_session() {
 if(!session_id()){
      session_start();
  }
}

暫無
暫無

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

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