Мои данные не отображаются автоматически после нажатия кнопки. Мне нужно обновить страницу, чтобы показать обновленные данные, как сделать так, чтобы они автоматически обновлялись после нажатия кнопки?
Машинописный файл updateProfileCompany:
updateProfileCompany(){
var getUser = localStorage.getItem('user');
getUser = JSON.parse(getUser)
var id_student = getUser["id"];
var nim = getUser["nim"];
var nama = getUser["nama"];
var email = getUser["email"];
var company = this.company
let user = {
id : id_student,
nama : nama,
email : email,
nim : nim,
company : this.company
}
console.log(user.company);
this.authService.updateProfileCompany(user)
.subscribe(user => user);}
Мой сервис:
updateProfileCompany(user){
let headers = new Headers();
this.loadToken();
var users = localStorage.getItem(this.user);
headers.append('Authorization', this.authToken);
headers.append('Content-Type', 'application/json')
return this.http.put('http://192.168.100.3:3000/users/update', user, {headers: headers})
.map(res => res.json());}
Экспресс конечные точки для обновления данных:
router.put('/update', passport.authenticate('jwt', {session:false}), (req, res, next)=>{
const user = req.body;
var id_student = user.id;
var id_company = user.company
var result = [];
User.findById(id_student, function(err, user) {
if(err) {
console.log(err);
return res.status(500).send({message: "Error"});
}
if(!user) {
return res.status(404).send({message: "User Not Found"});
}
user.company = id_company;
result.push(user);
user.save(function(err, user){
if(err) {
return res.status(500).send({message: "Cannot Update, please try again"});
console.log(err);
} else {
return res.status(200).send({message: "Update Success"});
console.log('Your data has been updated.');
}
});
if(id_company){
Company.findById(id_company, function(err, company) {
company.students.addToSet(id_student)
company.save(function(err, company){
if(err){
console.log(err);
}
console.log('Your data has been updated.');
result.push(company);
});
});
}
});
});