2017-02-08 10 views
0

我使用ajax將ajax的本地存儲數據發送到節點js服務器,以便使用該數據用ejs或jade來裝飾html頁面。我試圖通過app.post獲取後將其數據發送給ejs或jade。它編譯,但我無法在ejs文件中找到電影變量。如何通過節點js服務器發送和使用ejs或jade中的數據?

app.post('/notes' , function (req , res) { 
    var name = req.body; 
    res.render('/bucket',{movies:name}); 
}); 

在客戶端,我寫這樣的,它不能在這裏找到電影變量:

function postData() { 
     var clicked; 
     if (localStorage.getItem("liked") === null) 
      clicked = []; 
     else 
      clicked = localStorage.getItem("liked"); 

     $.ajax({ 
      type: 'POST', 
      url: 'http://localhost:3000/notes', 
      contentType: 'application/json', 
      dataType: 'json', 
      data : clicked, 
      success: function (msg) { 

      } 
     }); 
    } 
postData(); 
alert ("<%=movies%>"); 

有沒有辦法做到這一點?

回答

0

而不是把alert("<%=movies%>");postData(); - 嘗試把alert(msg.movies);在成功處理程序,現在是空的,這是唯一的地方(在你的例子),您可以使用Ajax響應。

+0

是的,但我想在ejs文件中使用該數據。詳細地說,我想獲得一個包含數據的龐大數組,並在ejs循環的頁面上發佈它。 –

0

在您的bucket.jade模板中,請嘗試在您的postData()函數後包含以下行。

script. 
    alert("#{movies}") 

我在這裏嘗試了一個例子,它的工作很完美。

希望這會有所幫助!

+0

有沒有辦法與ejs做到這一點?正如我所想,如果它工作,然後 –

+0

我只在'ejs'試過 –

相關問題