在我的CakePHP應用程序中,我在某個控制器中創建會話變量,我需要在「.js」文件中訪問該變量。有沒有可能的方法來做到這一點?如何訪問CakePHP中的.js文件中的會話變量
回答
我建議將它們作爲這樣的參數 -
<a onclick="some_function('<?php echo $_SESSION['var'] ?>')">Click</a>
,並有javascript函數some_function()
處理它,而不是將它們分配給內聯。這樣你可以從服務器端代碼中獲得免費的javascript文件。這是最乾淨的方式。
我也覺得因爲會話變量是服務器端,所以他們不應該通過內聯代碼直接在客戶端語言中處理。
您需要動態生成您的JS文件,以便它包含所需的值。您可以設置您的服務器通過PHP解析.js
文件,或者你可以命名的JS文件.php
:
var myVar = '<?php echo addslashes($_SESSION['myVar']); ?>';
是js中PHP代碼的混合,是否符合編碼標準點?如果需要服務器端值而不是這樣做,讓js文件分開並將參數傳遞給js函數會不會更好? – 2010-11-20 09:54:12
@sandeepan:當然,我最初會建議一個內聯腳本,但僅僅因爲OP提到了.js文件而編輯了我的答案。 – casablanca 2010-11-20 15:38:49
直接使用$ _SESSION當你有會話助手時不是最佳實踐。使用PHP來推動資產更糟,它慢了一百萬倍,當瀏覽器緩存它時會發生什麼,或者你也會禁用它。 – dogmatic69 2010-11-21 23:31:00
- 1. 如何使用cakephp 2.0訪問文件routes.php中的會話變量?
- 2. 類中的訪問會話變量
- 3. 訪問使用JavaScript的PHP文件中的會話變量?
- 4. 如何從單獨的路由文件訪問會話變量
- 5. 如何在express.js中訪問來自express和節點js的會話變量
- 6. 如何從第二個php文件訪問會話變量?
- 7. 訪問會話變量8
- 8. 如何訪問SSRS 2005報告中的會話變量
- 9. 我如何訪問頁面中的會話變量
- 10. 如何通過靜態變量訪問ASP.NET Core中的會話?
- 11. 如何從ASP.Net中的Base類訪問會話變量?
- 12. CakePHP會話變量變成別的
- 13. 如何在javascript中訪問php會話文件變量或數據?
- 14. 來自HTTPModule的訪問會話變量
- 15. 訪問不同node.js文件之間的會話變量
- 16. 從外面訪問cakephp會話(auth)cakephp
- 17. 如何訪問會話變量並在JavaScript中設置它們?
- 18. 如何在代碼隱藏中訪問會話變量
- 19. 從respond_to js文件中的控制器訪問變量
- 20. Ember Js中的自定義會話。如何設置/訪問會話信息
- 21. 訪問一個js文件的變量上的HTML文件
- 22. 如何在asp.net mvc中使用javascript變量作爲鍵訪問會話變量?
- 23. 如何訪問.ashx文件中的會話?
- 24. jquery從Jquery訪問節點js會話變量
- 25. 如何在laravel的頭文件中設置會話變量
- 26. 如何在cakephp 2中查看會話變量?
- 27. 如何在cakePHP中顯示會話變量
- 28. Cakephp中的會話
- 29. 在會話變量中存儲文件?
- 30. 如何訪問模板範圍內的會話變量?
爲什麼呢?會話變量被設計爲* only *服務器端。 – strager 2010-11-20 06:22:04
不應該直接在客戶端代碼中處理/訪問同意的會話變量或任何服務器端變量。我感覺更好通過他們就像我在我的回答 – 2010-11-20 10:33:14
strager,sandeepan所做的:所以你說當我保存會話中的用戶名稱我不允許訪問該數據客戶端? – dogmatic69 2010-11-21 23:26:31