我開始學習 Node.js 和 Express.js,我正在嘗試創建一個簡單的 API 來列出 JSON 檔案中的資料(使用 GET 方法)并使用 POST 方法添加新用戶。
GET 方法作業正常,但 POST 方法不起作用
當我請求http://127.0.0.1:8080/listusersAPI 發送 JSON 檔案中的所有用戶時。當我請求http://127.0.0.1:8080/adduserAPI 必須添加新的用戶資訊并將新資料發送回瀏覽器時。
注意:我閱讀了 Stackoverflow 上有關此問題的所有問題,但沒有一個對我有幫助,所以我不得不再次提問。
問題是當我請求http://127.0.0.1:8080/adduser我收到以下錯誤
Cannot GET /adduser
這是server.js:
var express = require('express');
var app = express();
var fs = require('fs');
var user = {
"user4" : {
"name" : "mounir",
"password" : "password4",
"profession" : "teacher",
"id": 4
}
};
app.post('/adduser', function (req, res) {
// First read existing users.
fs.readFile( __dirname "/" "users.json", 'utf8', function (err, data) {
data = JSON.parse( data );
data["user4"] = user["user4"];
console.log( data );
res.end(JSON.stringify(data) );
});
});
app.get('/listusers', function (req, res) {
fs.readFile( __dirname "/" "users.json", 'utf8', function (err, data) {
console.log(data);
res.end(data);
});
});
var server = app.listen(8080, function () {
var host = server.address().address;
var port = server.address().port;
console.log("listening at http://%s:%s", "0.0.0.0", port)
});
uj5u.com熱心網友回復:
答案在錯誤中。無法獲取 /adduser。關鍵字獲取!如果您正在發出一個 post 請求,請確保您包含適當的標頭,并且您正在發出一個帶有正文的 POST 請求,而不是一個 GET 請求。例如,如果您使用 fetch:
const myInit = {
method: 'POST',
headers: myHeaders,
body: {
...
}
};
fetch("http://127.0.0.1:8080/adduser", myInit)
.then(res => {
...
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/481692.html
標籤:javascript 节点.js 休息 表示
下一篇:如何填充貓鼬中的嵌套物件?
