我有兩頁,register和status。在注冊頁面,我提交了一個表單,當我收到回應時,我想將它發送到狀態頁面并訪問物件的一些屬性。
const register = (e) => {
e.preventDefault();
Axios.post("http://localhost:3001/register", {
name : name,
NID : NID,
birth : birth,
phone : phone,
gender : gender,
center : center,
address : address
}).then((response) => {
console.log(response.data);
setResponse(response.data.NID);
});
e.target.reset();
};
在 MySQL 資料庫中每次 post 請求都成功。但是當我控制臺記錄 response.data 時,我沒有得到資料屬性。

后端:
app.post("/register", (req, res) => {
const name = req.body.name;
const NID = req.body.NID;
const birth = req.body.birth;
const phone = req.body.phone;
const gender = req.body.gender;
const center = req.body.center;
const address = req.body.address;
db.query(
"insert into register (name, NID, birth, phone, gender, center, address) values (?,?,?,?,?,?,?)",
[name, NID, birth, phone, gender, center, address],
(err, result) => {
if (err) {
res.send(err);
} else {
res.send(result);
}
}
);
});
此外,在呈現 {response.data.name} 時,我收到一個錯誤。
uj5u.com熱心網友回復:
您記錄的內容是您的服務器作為回應回傳的內容。您需要在后端應用程式的回應中回傳您需要的內容。因此,而不是res.send(result)哪里result是資料庫查詢的結果,呼叫res.send與任何你想要的資料發送到前端。
或者,如果您需要的是請求引數,只需等待請求成功(如在您的代碼示例中)并使用請求引數。即而不是setResponse(response.data.NID)使用setResponse(NID)- 您已經將“NID”作為代碼示例中的變數。
uj5u.com熱心網友回復:
你的后端回傳什么?它只是一個 response.status 201 嗎?身體是空的嗎?您應該在 devtools 的 Network 選項卡中檢查當您點擊該端點時會發生什么。
HTTP 狀態代碼:https : //en.wikipedia.org/wiki/List_of_HTTP_status_codes
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/383078.html
