簡體   English   中英

如何在JavaScript文件中包含PHP $ _SESSION值?

[英]How to include PHP $_SESSION values in a javascript file?

我使用$_SESSION['siteRoot']將網站的根地址存儲在(基本上是一個框架,因此可以根據用於訪問該站點的URL進行更改)。 我需要在某些javascript文件中使用此值...

到目前為止,我一直將js文件包含為.php ,並將以下代碼放在js文件的頂部,如下所示:

<?php
    header("Content-type: application/javascript");
    session_start();
?>

在我的本地主機上進行測試時,這已經可以正常工作了,但是當我將其上傳到實時服務器時,我注意到每次重新加載頁面時,會話都被重置了,經過一天的調試,最終發現它是session_start( ); 我的Java腳本文件中的一行導致了此行為。

我嘗試了以下方法:

if (!isset($_SESSION))
    {
    session_start();
    }

if (session_id() == '')
    {
    session_start();
    }

if (session_status() !== PHP_SESSION_ACTIVE)
    {
    session_start();
    }

並且也完全省略了session_start。 如果我不啟動會話,那么我將無法使用變量(顯然是...),但是我找不到啟動該方法的方法,因此無法擦除我已經在主頁上創建的會話。

有任何想法嗎?

問題不是完全由會話本身引起的,而是因為在調用會話之前我沒有包括我的類自動加載器,所以我的自定義類無法在反序列化過程中幸存下來(即使它是一個javascript文件,我也不使用)任何上述課程!)

我將JavaScript代碼更改為:

<?php
    include ('include/autoloader.php');
    header("Content-type: application/javascript");
    session_start();
?>

一切正常。 當您不使用該頁面上的任何序列化類時,很容易忘記!

暫無
暫無

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

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