從node.js服務器向客戶端的javascript發送一些數據(理想情況下爲json對象的形式)的最佳方式是什麼?我想到了一些選擇,但我認爲它們都不適合。第二個意見,或其他一些建議是我正在尋找的。從node.js向客戶端js發送數據的最佳方式
讓服務器在
<script>
標記中輸出一些代碼來設置全局變量。我以前用過這個,但我不喜歡它的想法,主要是因爲它對XSS有潛力,而且我認爲這是不好的做法,即使發送的數據不是由用戶定義的。
用它裏面的數據設置一個cookie。
這個選項稍微好一點,但由於數據可能會因爲每次頁面加載而改變(至少在我的設置中),它並不適合,因爲在我看來,cookie不應該是這個不穩定。
讓客戶端javascript在頁面加載時向服務器發出ajax請求以請求json文件。
這也適用,但它增加了很多不必要的開銷。每頁2個請求看起來沒有必要。
背景:
我有2個模板網站對註銷的用戶的索引,主要內容模板。
我的服務器端是由node.js,express.js,jade等構建而成的。
我使用history.pushState作爲客戶端頁面路由的所有鏈接和crossroads.js。 我希望能夠發送加載的模板和用戶的ID /如果他們登錄到客戶端JavaScript,所以它可以處理相應的頁面更改。登出的用戶可以查看內容頁面,而無需編輯權限,點擊某些鏈接應該將它們帶回索引模板。
我確實結束了腳本標記選項。訪問js的其他腳本不是問題,因爲發送給客戶端的內容可能是惡意的。 我正在使用'JSON.stringify(object).replace('/','\ /','g')'來使任何XSS都不可能(據我所知)。 – xthexder