2009-10-06 109 views
3

我正在用jQuery開發一個寵物項目。現在,應用程序需要一些變量值在加載頁面時被轉移到客戶端JavaScript。我想知道做什麼是最佳做法。將變量值從服務器傳遞給JavaScript的最佳做法是什麼?

我可以通過兩種方式進行圖像處理。首先,將其渲染爲頁面中的JavaScript變量。

<script> <?php echo "var maxid = $maxid;"?> </script> 

這意味着客戶將看到

<script> var maxid = <somevar>; </script> 

其次,將其指定爲一種元素的屬性。

<div maxid="<php echo $maxid >" /> 

哪種方法更好?有沒有其他方法可以做到這一點?

回答

7

爲了有效的html,我會使用第一種方法,儘管只要它完成了工作就沒關係。

<script> 
$(function() { 
    var max_id = <?php echo $max_id;?>; 
}); 
</script> 
+0

我想了很久,很高興你們和我有同樣的想法。以可讀性折衷一點表現。 – 2013-02-28 09:28:48

0

- 編輯:

正是這樣很明顯,你的「問題」被問的東西比你的「代碼」完全不同。你需要澄清,我的帖子在下面討論「問題」。

- 老:

我通常返回完整的HTML被渲染,在Ajax調用的頁面。

原因是我不必在JavaScript中重複佈局邏輯,並且最終通常只會保持JavaScript的微不足道,以及設置相關佔位符的HTML /文本內容的形式。

這是以傳輸更多數據爲代價的,但對於我來說,我很樂意進行這種交換。

0

我會把它變成一個javascript變量(你的第一個選擇)。這似乎是一種常見的方法。

0

第一種方法更好,因爲你將消耗更少的內存和CPU用一個簡單的變量。採用DIV方式,您將使用DOM元素和DOM節點搜索來讀取值。

1

我很少有通過只是一個變量...我往往有一整套的信息,在這種情況下,我使用:

var myAwesomeStuff = <?php echo json_encode($myArrayOfAwesomeInformation); ?> 

沒有往返於服務器,與JSON前面提到的。

相關問題