爲了將動態值傳遞給js代碼,這樣做更好嗎?將動態參數傳遞給js代碼 - 哪個更好?
var myVar = '<?php echo addslashes($_SESSION['myVar']); ?>';
或者在運行時進行AJAX調用以獲取會話變量並將其分配給myVar?
有什麼優點和缺點?
我個人比較喜歡AJAX方法。它使代碼看起來更好,以防複雜的陣列分配等。
想獲得專家意見。
更新
據我所知,使用AJAX方法,每個HTTP請求數。但是,如果我們在JavaScript文件內部有完善定義的函數,那麼我們只需要有可用的函數參數。只要我們想調用這些參數,就可以在函數調用中傳遞這些參數,例如,像這樣: -
<a onclick="some_function('<?php echo $_SESSION['var'] ?>')">
這是我通常做的,在我的項目中,我很少需要在JavaScript文件中將它們內聯傳遞。我有AJAX呼叫做服務器端處理(當然,當它需要)。
我在這裏的基本想法是有內聯js腳本單獨的js文件intead。我在看this question。我肯定不會爲獲取每個變量而進行AJAX調用(因爲它可能看起來像我的問題),因爲這種情況不會出現。
謝謝。
我其實並不是想要做一個AJAX請求來獲取每個服務器端的變量,以便在javascript中使用。請檢查我的更新。 – 2010-11-20 09:57:44
@sandeepan我看到你有關於單獨的JS腳本的觀點,這很有道理 - 它是最乾淨的方式。我個人可能仍然傾向於將動態位放入文檔的'
'中,但我會說這兩種方法都是正確的 – 2010-11-20 10:04:13您是指文檔頭中的js代碼中的動態位?但在你的情況下這是不可避免的?你是否接受你沒有遵循最清潔的方式? :) – 2010-11-20 10:09:21