Существует форма и кнопка на стороне клиента, я хочу отправить данные, которые пользователь вводил в форму, на сервер, где есть обработчик запросов, который сохраняет данные к базе данных и от базы данных к клиенту.Angular2: Как отправить данные от клиента на сервер при выполнении запроса
Как я могу это сделать Я запутался в логике, я думаю, что есть использование синтаксического анализатора тела, также какова роль заголовков, опция запроса в этом случае, я нашел это решение, но я не реализую с закрытыми глазами, я просто хочу, чтобы сделать это мой путь после понимания
на стороне клиента:
let headers: Headers = new Headers();
headers.append('Content-Type', 'application/json');
let opts: RequestOptions = new RequestOptions();
opts.headers = headers;
this.http.post('http://localhost:
3000/addStudent',JSON.stringify(obj),opts).subscribe((res: Response) => {
console.log(res.json())
setTimeout(()=>{
this.students = res.json();
}, 3000)
})
на стороне сервера:
app.post('/addStudent',function(req,res){
var newStudent = new StudentModel(req.body);
console.log(req.body);
newStudent.save();
StudentModel.find(function(err,data){
if(err) res.send(err)
else{
res.json(data)
}
})
мы можем еще отправить тело строковой с GET? Я пробовал HTTT get (url, options), но я не мог заставить тело добраться до сервера, я что-то упустил? – Ayyash
Нет, я не думаю, что с помощью запроса GET вы можете отправить часть тела. вы можете отправить часть тела с запросом POST, а также запросом PUT. –
Думаю, это имеет смысл. но мы исходим из фона jQuery, где мы буквально испорчены, позволяя нам передать объект json данных в запросах GET, он параметризует их для нас. – Ayyash