2013-03-26 96 views
0

我有一個名爲english.php的文件,其中包含一噸變量值。 $LANG數組的所有部分。在javascript中導入php變量

例子:

$LANG['value_1']="abc";

$LANG['value_2']="xyz";

然後我有使用require_once('english.php');

這是罰款一百萬個不同.php文件,但我也有很多的javascript和jQuery插件我正在使用。他們都有外部的.js文件。我怎樣才能得到在JavaScript中的值$LANG它可用於.js文件?

我想我需要添加代碼到頂部的.js以某種方式讀取.php數據,然後再運行其餘的javascript代碼。我完全不知道該怎麼做。

我已經看到了一些可能的想法,但我並不想對一切做大的改寫。尋找一個簡單的解決方案。任何人都可以幫助這個無知的新手?

=======添加根據收到的意見=======

我現在有與此代碼中有一個lang.php詳細信息...

<?php 
session_cache_limiter('nocache'); 
session_start(); 
require_once ($_SESSION['language'].'.php'); 


$js_out = json_encode($LANG); 

?> 
<script> 
    var LANG = <?php echo $js_out; ?>; 
    alert(LANG.value_1); 
</script> 

當我訪問它成功訪問english.php和警報「ABC」

我的問題是,當添加到不同的文件,這並不工作...

<script type='text/javascript' src='lang.php'></script> 
<script> 
    alert(LANG.value_1); 
</script> 
的lang.php

=======編輯,以

由於添加解決方案=======下面的人的意見,我在lang.php文件擺脫了<script>的和它的工作。

我現在有與此代碼中有一個lang.php ...

<?php 
session_cache_limiter('nocache'); 
session_start(); 
require_once ($_SESSION['language'].'.php'); 


$js_out = json_encode($LANG); 

?> 

var LANG = <?php echo $js_out; ?>; 
+1

使用'json_encode'並將數據放在某個可以連接到JS的地方。不知道你的項目是如何組織的,很難說。爲什麼你的JS需要翻譯表? – Chad 2013-03-26 16:05:30

+0

您不會從JavaScript獲取PHP變量,反之亦然。 PHP將其變量告訴JavaScript。因此,無論您在何處添加腳本(可能位於'

0

你能做到這一點,在其需要看到$ LANG在JavaScript文件一個簡單的腳本標籤。

1)創建一個PHP文件,該文件呼應$ LANG的JavaScript的表現 - 讓我們稱之爲它lang.php 它應該像做

echo 'var english ="' . $LANG['value_1'] "';"; 

2)在HTML文件,然後U可以使用變量英語等作爲正常的JavaScript變量。

<script language="javascript" src="http://whatever.com/lang.php"> </script> 
+0

在原文中查看我的編輯。我添加了更多信息。 – 2013-03-26 17:50:26

+0

刪除lang.php中的

0

您可以創建一個PHP文件:

<?php 
header('Content-Type: text/javascript'); 
echo 'var lang = {};'; 
foreach ($LANG as $key => $value) { 
    echo "lang['$key'] = '" . addslashes($value) . "';"; 
} 
?> 

然後鏈接腳本,您可以使用lang對象:

<script type='text/javascript' src='/path/to/lang.php'></script> 
<script type='text/javascript'> 
alert(lang.value_1); 
</script> 
+0

謝謝@Rapidwolf - 我目前正在嘗試基本上這個。把其他評論一起,並基本上想出了你有什麼。現在嘗試。 – 2013-03-26 16:54:03

+0

在原文中查看我的編輯。我添加了更多信息。 – 2013-03-26 17:45:29

0

取出<script></script>標籤時作爲鏈接這可能導致語法錯誤text/javascript文件。

+0

謝謝 - 正是這個問題。現在工作!!!!! – 2013-03-26 20:40:26