2012-11-05 23 views
0

我有語言文件,如 「en.lang.php」:如何使用值(PHP)在JavaScript

/* english language */ 
return array(
    "random.key.one" => "random value one", 
    "random.key.two" => "random value two); 

用法(快速&骯髒的方式):

/* random_template.php */ 
$language = "en"; 
$file = $language . ".lang.php"; 
$text = include($file); 
echo $text["random.key.one"]; // "random value one" 

問題: 在JavaScript中如何使用這個值?

理念: 生成en.lang.js與返回所需的值的函數,用法:

alert(get_text("random.key.one")); 

問題:我已經清空緩存每次的* .lang。 php文件被改變了。不是那種用戶友好的。

在此先感謝!

+0

Similar questions:http://stackoverflow.com/questions/2766041/whats-the-best-way-to-pass-a-php-variable-to-javascript和http://stackoverflow.com/questions/ 5895842/how-to-assign-php-variable-value-to-javascript-variable –

回答

2

如果你使用PHP> = 5.2.1(2.0,技術上的),我能想象的最簡單方法如下:

有一個生成的JSON陣列

echo 'set_text(' . json_encode(include($file)) . ')'; 
文件

JavaScript的英明:

var texts = []; 
function set_text(languageTexts){ 
    texts = languageTexts; 
} 
function get_text(key) { 
    return texts[key]; 
} 
+0

好的解決方案我猜。謝謝! –

1

嘗試緩存控制頁面,並將其設置爲不緩存,以便它將從初始裝載。

如果你想玩PHP和JS,你必須記住PHP是服務器端,JS是客戶端。所以我可以建議的最好的事情是使用Ajax。它的易用性在頁面上使用JS,並讓JS查詢使用php處理數據的服務器。