2016-07-07 58 views
0

我正在嘗試使用我的HTML形式到node JS方法的POST某些值。之後,我需要將返回結果從NODE JS發回,並將其顯示在HTML頁面中。如何使用EJS將節點JS的值傳回Html

我也使用EJS將值發送回窗體。但是,結果不會顯示。

基本上,用戶點擊HTML表單提交按鈕後,數值應被傳遞到節點的js處理併發送回一個結果Successfailed到HTML文檔,其中它會顯示。

我的代碼如下:

HTML代碼:

  <form id="form-register" action="http://localhost:8089/ttt"" method="post" enctype="multipart/form-data"> 

      <input type="logintext" value="" name="nam" class="nameC" id="mc" > 



      <input type="submit" name="subscribe" id="mc-submit-number"> 

      <label >REEEEE <%= titles %></label> 

      </form> 

NODE JS代碼:

app.post('/ttt', function (req,res){ 

loginProvider.signUp(params, function(err, data) { 
    if (err) { 

     res.render('index',{title: 'HOME',titles:err.stack 
     }); 
     res.send('WHATTT'); 
    } 
    else { 
     console.log('Result ' + data);   // successful response 
     res.render('index',{title: 'HOME',titles:'SUCCESS' 
     }); 
     res.end('xzxzxzxzxzx'); 
    } 

}); 

} 
+0

嘗試增加身體的解析器的任何一部分,就像提到 [這裏](HTTP://計算器.COM /問題/ 24800511 /表達-JS-形式的數據)。 – flott

+0

有沒有具體的錯誤?...你檢查了瀏覽器控制檯/調試器的錯誤,而且爲什麼你需要發送()和結束()..響應已被髮送... – Nikhil

+0

已經嘗試添加身體分析器。不工作。在Chrome開發人員工具上沒有報告錯誤 – Illep

回答

0

你可以(或者說必須)使用AJAX。

然後,您可以通過發送請求手動發送表單參數到您的節點服務器,並返回包含錯誤或成功消息的響應對象。

0

你的代碼不工作的原因是因爲你已經加載了HTML頁面的DOM,當你提出這個請求時,EJS工作的唯一方法是如果你重新加載頁面,因爲EJS只是通過你的文件和字符串替換

我最好的解決方案是對你的'/ ttt'有一個正常的AJAX調用,並讓Node.js做'res.send(「SUCCESS」);'並且在你的HTML,你可以設置標籤或文檔頁面「SUCCESS」

與jQuery

$.post("/ttt", function(data, status){ 
    $("#yourLabel").text(data); 
});