2017-10-18 113 views
0

我使用了node.js/express,並且我有一個帶有表單的視圖 - 它將POST形成到一個路由,然後返回json。在頁面上顯示POST的結果

我想(至少從頭開始)發送我的表單,並將返回的數據顯示在表單下(在同一視圖中)。

以最「快捷」的方式做到這一點的最佳方式是什麼?

理想情況下不刷新頁面。

阿賈克斯將做我以後的事 - 但這是一個偉大的方式做到這一點?

感謝任何見解

+1

您需要客戶端語言才能更新頁面上的內容而無需刷新,並且考慮到您也可以使用AJAX檢索數據,對我來說這似乎很完美(假設您通過AJAX發佈數據) 。 –

+1

Ajax會做到這一點,並且ajax是在同一頁面上不刷新的唯一方式(或者您可以使用套接字,但不是真正處理表單的最佳方式) – sheplu

回答

2

最低限度的,你在找什麼會是這個樣子:

客戶端

fetch('your_endpoint', { 
    method: 'POST', 
     body: JSON.stringify(formData), 
    }).then((response) => { 
    // success 
    return response.json(); 
    }) 
    .then((data) => { 
    // add data to DOM 
    }) 
    .catch((error) => { 
    // failed to send 
    }); 
} 

服務器使用Expressjs

router.post('/your_endpoint', (req, res, next) => { 
    // process request 
    res.status(200).json({ "data": your_data }); 
}); 
相關問題