[英]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.