亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

POST 請求不起作用——發送空對象 [NodeJS]

POST 請求不起作用——發送空對象 [NodeJS]

慕桂英4014372 2022-12-22 11:40:56
我正在構建這個學校項目,我們必須在 NodeJs 和自由選擇的前端中創建自己的 API。我寫了以下代碼:[在公共地圖] app.jsfunction getAll() {    console.log("Get all")    makeRequest("/poems", "GET")} async function getRandomPoem() {    const ids = [1, 2, 3, 4, 5, 6, 7]    const randomId = ids[Math.floor(Math.random() * ids.length)]    const arrayofPoems = await fetch("/poems/" + randomId, {method: "GET"})    const data = await arrayofPoems.json()    const titleBox = document.getElementById("title")    const authorBox  = document.getElementById("author")    const textBox = document.getElementById("text")    titleBox.innerText = data.title    authorBox.innerText = data.author  textBox.innerText = data.text}function addPoem() {    event.preventDefault();    let title = document.getElementById("titleInput").value    let author = document.getElementById("authorInput").value    let text = document.getElementById("textInput").value    let newPoem = [{        id: 8,        title: "Aaa",        author: "Ccc",        text: "Ddd"    }]    makeRequest("/poems/", "post", newPoem)}async function makeRequest(url, reqMethod, body) {        const response = await fetch(url, {      //  headers = { "Content-Type": "application/json" },        method: reqMethod,        body:JSON.stringify(body)    })    console.log(response)    const data = await response.json()    console.log(data)}[這里是對本地服務器的請求] server.jsconst express = require('express');const { poems } = require('./Poems/poemsArray');const app = express();const port = 8080;const allPoems = require('./Poems/poemsArray')app.use(express.json())app.use("/", express.static('public'))app.listen(port, console.log(`App listening on port ${port}`)) 
查看完整描述

2 回答

?
LEATH

TA貢獻1936條經驗 獲得超7個贊

你使用 headers = 這是無效的。嘗試標頭:{}。當你得到空對象時,嘗試記錄請求。也有可能正文作為字符串發送,express.json() 中間件無法解析數據。結果,您得到空對象。


async function makeRequest(url, reqMethod, body) {

    

    const response = await fetch(url, {

        headers : { "Content-Type": "application/json" },

        method: reqMethod,

        body:JSON.stringify(body)

    })

    console.log(response)

    const data = await response.json()

    console.log(data)

}


查看完整回答
反對 回復 2022-12-22
?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

如果您在一段時間后嘗試訪問郵遞員,它也可能在發送正文時引起問題。在我的例子中,我已經完成了 API 中的所有更改,添加了路由器,刪除了驗證等,但最后罪魁禍首是郵遞員,因為無論我發送什么數據,它都將 request.body 顯示為 {}(空)。在我重新安裝郵遞員后它工作了!我只是覺得更快樂,我花了3-4個小時所以你也可以考慮這個選項。



查看完整回答
反對 回復 2022-12-22
  • 2 回答
  • 0 關注
  • 169 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號