/* the following **frontend** function is invoked to
send a new post (in json) to the node server */
addPost(postData) {
const xhr = new XMLHttpRequest();
xhr.open('POST', `${process.env.REACT_APP_BACKEND}/posts`);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(postData));
}
/* the following **server** code picks up the request
from the function above */
app.post('/posts', bodyParser.json(), (request, response) => {
new Promise(resolve => {
// code to add request.body to database will be here
resolve(request.body);
})
.then(data => response.send(data)); // *** How do I retrieve
} // *** this "data" in
); // *** my frontend code?
こんにちはすべて、私のコードの(XMLHtttpRequest)
上部(フロントエンド)は、JSON形式でリクエストを送信するアヤックスです。
自分のコード(ノード/エクスプレスサーバ)の底部にはない以下: 1)データベース 3)で 2)「request.body」挿入要求を受信したフロントエンドに応答を送信します。
この応答は、request.bodyを含むPromiseです。フロントエンドコードでこの応答を取得するにはどうすればよいですか? Ajaxはリクエストの送信に役立ちますが、返されるレスポンスの取得については何もしません。
ありがとうございます!
P.S.このデータはもともとフロントエンドから送られてきたものなので、フロントエンドには既にこのデータがあります。しかし、一般的には、リクエストがajaxによって送信されたときにレスポンスを取得する方法を知りたいだけです。
ヒント@例@ここでそれを読むことができます://開発者:あなたは(HTTPS [それを聞いて]いない場合は、応答を聞くことは決してないだろう。 mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest) – maioman
@maiomanあなたの洞察力のあるコメントをありがとう! – BrianA