2014-04-13 64 views
1

發送JSON和HTML頁面在一起我送我的HTML文件發送至客戶端的node.js如下圖所示在node.js中

app.get('/get', function(req, res) { 
    res.render(index.html); 
}); 

這裏的index.html指JSON文件。 我怎麼能一起同時發送或引用在客戶端的JSON文件?

回答

0

如果你不想從客戶端請求的JSON文件,你可以做以下一個獨立的HTTP請求:

全部服務器端渲染:

使用模板技術像moustachehandlebars,並嘗試呈現與響應的數據在線。例如,如果你的JSON文件返回名稱和地址的index.html可能看起來像:

<div> 
    <span>Name: {{name}} </span> 
    <address>Address: {{address}} </span> 
<div> 

然後渲染,你可以通過與性能nameaddress到模板JS對象時,你不會需要單獨詢問JSON文件。這個例子遵循鬍鬚準則,以防萬一我不夠明確。

嵌入對象

像以前的解決方案,但不太優雅一點,你可以添加完整的JSON響應與腳本標籤中的一個對象,然後用它,但是你認爲合適的。嘗試塊追加到這樣的index.html他HEAD:

<script> 
    var myObject = <contents of your JSON object> 
</script> 

其他可能的解決方案的另一種回答剛纔描述。

我希望這會有所幫助。

0

HTTP一次只能發送一個資源。如果您的頁面正在請求JSON文件,則需要將其作爲第二個請求提供。

另外,也可以使一個<script>塊,有一個變量賦值有一個值的JSON編碼的數據的HTML。

0

無法發送兩種類型的文件早在一個請求,但你可以做任何Ajax調用的HTML來得到你需要的JSON:

<script type="text/javascript"> 
var json_data; 
$.getJSON("URL_HERE", function(data) { json_data = data; }); 
</script> 

或JSON添加到HTML作爲通過模板發動機javascript對象(如下所示玉):

script(type="text/javascript"). 
    var json_data = #{ JSON.stringify(JSON_OBJECT_HERE) }