Comment envoyer des données de formulaire dans une requête http post angulaire 2?
Je suis en train d'envoyer des données de formulaire de l'utilisateur mise à jour des détails à la fin du nœud serveur angulaire 2,mais je ne pouvais pas envoyer les données du formulaire et le serveur répond avec un statut de 500,Dans angularjs j'ai fait quelque chose comme ça,
service fichier
update: {
method: 'POST',
params: {
dest1: 'update'
},
transformRequest: angular.identity,
'headers': {
'Content-Type': undefined
}
}
Dans le contrôleur de
var fd = new FormData();
var user = {
_id: StorageFactory.getUserDetail()._id,
loc: locDetails
};
fd.append('user', angular.toJson(user));
UserService.update(fd).
$promise.then(
function(value) {
console.info(value);
updateUserDetailsInStorage();
},
function(err) {
console.error(err);
}
);
Je n'arrivais pas à comprendre comment ce faire angulaire 2 angulaire.la méthode toJson,angulaire.identité et transformrequest fonctionnalités ne sont pas disponibles dans angulaire 2,
jusqu'à présent j'ai fait ce qui suit dans angulaire 2,
let fd = new FormData();
let user = {
_id: this.appManager.getUserDetail()._id,
loc: locDetails
};
fd.append('user', JSON.stringify(user));
this.userService.update(fd).subscribe((value) => {
console.log(value);
this.updateUserDetailsInStorage();
}, (err) => {
console.error(err);
});
service http de fichier
update(body) {
console.log('update', body);
const headers = new Headers({
'Content-Type': undefined
});
const options = new RequestOptions({
headers: headers
});
return this.http.post(`${app.DOMAIN}` + 'user/update', body, options)
.map((res: Response) => {
res.json();
}).do(data => {
console.log('response', data);
})
}
J'ai lu beaucoup de posts et essayé quelques choses, mais jusqu'à présent il n'a pas réussi, quelqu'un pourrait-il me suggérer comment faire?
il n'y a pas d'erreurs de la console , le serveur répond avec un statut de 500 alors qu'il fonctionne parfaitement quand je lance la même application que j'ai créée en angularjs
Si vous êtes sûr que le poste url est correcte, vous pouvez aussi JSON.stringify le corps de la variable que vous envoyez? Et peut-être changer le 'Content-Type' application/json'
La demande de la charge utile des modifications à {} quand j'essaie un de ces ou les deux
OriginalL'auteur akila arasan | 2016-12-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter des en-têtes, si votre serveur contrôleur exige autre chose que vous pouvez simplement poster comme ça
"&client_secret=" + "abc123" +"&username=" + user +"&password=" + pass;
voir ici: stackoverflow.com/questions/45470575/...
OriginalL'auteur Sahil Daga
C'est une solution fonctionnelle pour construire une requête POST en Angular2, vous n'avez pas besoin d'un en-tête d'Autorisation.
'application/x-www-form-urlencoded'
au lieu de'application/X-www-form-urlencoded'
. Minuscules X. je commençais à 400 Bad Request jusqu'à ce que je l'ai changé.OriginalL'auteur Joffrey Outtier
Voici la méthode à partir de mon application qui fonctionne très bien.
OriginalL'auteur John Baird
Voici la méthode que j'ai utilisé dans angulaire 4 pour le téléchargement de fichiers....
pour l'Interface utilisateur
et .fichier ts j'ai ajouté cette ....
et Dans les services
Cette méthode utilisé pour un seul téléchargement du fichier sur le serveur d'annuaire.
OriginalL'auteur muhammad zaman