計算された文字列を、Express のポストルートからクライアントに送り返そうとしています
バックエンドにはポストルートがあります:
router.post('/', async (req, res) => {
try {
// Here I do some computation on a succesion that generates a new string everytime
const foo = 'string that changes and I want to send to client'
} catch (error) {
res.status(500).send(error)
}
})
次に、クライアント上で axios を使用してデータを送信して投稿します
(async () => {
try {
await axios.post('/api/send/', { data })
} catch (error) {
console.log(error)
}
})()
ポストリクエストを送信した後、ポストリクエストが発生したときにそのルートからデータを取得する方法はありますか?
ポストルートから res.send() を使用しようとしましたが、バックエンドの関数が失敗するだけです。
どうもありがとうございます。
res.send() でどのようなエラーが発生しますか?
– リオ A.P
2020 年 9 月 3 日 15:49
基本的には空の文字列を送信し、投稿が作成する関数は機能しません。
– Áルバロ
2020 年 9 月 3 日 15:50
@RapSherlock このシナリオでは、クライアントから文字列をどのようにリクエストしますか?
– Áルバロ
2020 年 9 月 3 日 15:56
ガブリエルの答えと同じように、res.send("your string here") だけ
– リオ A.P
2020 年 9 月 3 日 15:59
申し訳ありませんが、クライアントに送信された後はヘッダーを設定できませんというキャッチに進みます
– Áルバロ
2020 年 9 月 3 日 15:59
------------------------
router.post('/', (req, res) => {
try {
// Here I do some computation on a succesion that generates a new string everytime
const foo = 'string that changes and I want to send to client'
res.send(foo);
} catch (error) {
res.status(500).send(error)
}
})
これは十分です。そうでない場合は、エラー メッセージの内容を詳しく説明する必要があります。
8
エラーは次のとおりです: ヘッダーをクライアントに送信した後はヘッダーを設定できません
– Áルバロ
2020 年 9 月 3 日 15:58
'rou の使用法をもう一度確認してくださいター'。それが問題の原因ではないかと思います。これは非常に簡単な投稿リクエストであり、問題が発生することはありません。
– ガブリエル・レモン
2020 年 9 月 3 日 16:06
実際のポストルートははるかに大きくなりますが、これは単なる単純な例です
– Áルバロ
2020 年 9 月 3 日 16:09
他の POST ルートに問題がありますか?実際のルートは t ですか'/' のパスで問題が発生していますか?
– ガブリエル・レモン
2020 年 9 月 3 日 16:12
1
実際のコードを投稿することをお勧めします。ここにある例は非常に初歩的なもので、見た目からは投稿したものと一致するものは何もありません。 1 回のリクエストで複数回応答することはできません。 (優しい声でこう言います)
– ガブリエル・レモン
2020 年 9 月 3 日 16:20