Насколько мне известно, если вы отправляете какой-то файл, тогда полезно использовать FormData
. В другом подобном сценарии вы просто отправляете простой текст. Вы можете просто отправить нормальный json
объект, и он будет работать. Вы можете попробовать это.
postButton(name: string): Observable<any> {
return this.http.post(environment.apiUrl + '/url, { name });
}
Если вы действительно хотите использовать FormData
, вам нужно установить пакет npm как:
npm install multer
и изменить app.js
to:
var express = require('express');
var app = express();
var multer = require('multer');
var upload = multer();
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use(upload.array());
app.use(express.static('public'));
app.post('/api/url', function (req, res) {
console.log(req.body);
});
module.exports = app;
Теперь, что делает multer
, это поддерживает multi-part
отправку формы. И FromData
использует это. Чтобы получить данные из тела запроса, вам нужно установить и настроить multer
.
Надеюсь, это работает для вас.