我正在做一個有點激情的專案,直到現在我的大部分 js 作業都是客戶端的。我現在開始研究一些服務器端的作業,但我現在有點迷茫。
基本上,我有兩個問題。
<form action="/receive" method="post">
<button class="btn btn-primary results-share-results" data-bs-dismiss="modal">
</form>
非常一般地,我將如何采用上述表格并在 node.js 程式中接收其 POST 請求?我認為我的主要掛斷就像這個 POST 請求要去哪里一樣。我指的是什么?節點程式中的什么接收它?
更具體地說,對于我的專案,我希望該按鈕觸發一個 POST,它將我存盤在物件中的資料發送到節點腳本。該腳本將接收這些資料,然后將其寫入 JSON 檔案或資料庫(我還沒有完全處于資料庫級別,所以現在可以使用 JSON 檔案)。
先感謝您!
老實說,我主要是在一些 YouTube 視頻中摸索。我可以理解 POST/GET 請求如何對 API 起作用,但我很難理解這些呼叫如何對本地檔案或資料庫起作用。
uj5u.com熱心網友回復:
這不是一個簡單的問題要回答,但希望我能指出你正確的方向。首先要知道的是 NodeJS 只有一個最小的 API。我不推薦用普通的舊 Node 撰寫完整的 Web API,尤其是如果您是后端開發新手。
為了在 Node.js 中撰寫函式式 API,我建議您使用 ExpressJS 之類的框架。這個框架使用起來非常簡單,如果使用 Node.js 的本機 API,它將為您節省大量必須手動完成的作業。
一個簡單的快遞例子:
const express = require('express);
const app = express();
app.get('/receive', function(req, res) {
//handle your request here.
} );
app.listen(3000);
現在,當您的前端使用 HTTP GET 動詞提交上述表單時,節點后端將通過呼叫作為 app.get() 的第二個引數傳遞的函式來處理它。req 引數將包含發送的資料, res 引數具有可用于將 JSON 回復發送回前端的函式。
請注意,我使用的是 GET 動詞而不是 POST。接收帖子實際上需要使用 body-parser npm 模塊作為中間件。中間件是在呼叫處理程式函式之前對請求起作用的函式。由于這個答案不是一個教程,我將把研究如何使用 body-parser 的作業留給 OP。那里有很多例子。
請記住,您的處理函式必須呼叫 res.json() 或 res 物件中的其他方法之一來回復客戶端,否則,瀏覽器將“永遠”等待(直到請求超時)。
獎勵:使用節點的 writeFileSync() 將 JSON 檔案寫入磁盤。但是,對于生產應用程式,請使用此函式的異步版本。
希望這至少會為您指明正確的方向。歡迎來到開發的后端!
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453172.html
標籤:javascript html 节点.js 表示 拿来
