Je travaille sur un projet Web angular2, dans ma classe TS, j'ai un objet: Je souhaite envoyer l'objet dans le corps de la demande http.post. J'ai essayé le code suivant, mais cela ne fonctionne pas; p> J'ai une erreur dans la console: p> pouvez-vous Expliquez-moi comment envoyer un objet doctorat dans le corps de la demande postale? Merci d'avance p> p>
3 Réponses :
Vous devez vous abonner à la post observable renvoyé par méthode code>. C'est fait comme ça.
La demande HTTP doit effectivement être souscrite dans le code qui appellerait la méthode méthode () code>, pas dans le code de la méthode.
Merci Eduric pour le pointer. J'ai mis à jour ma réponse en conséquence.
L'OP souscrit à l'observable, son problème concerne une 400: mauvaise demande b>.
Vous obtenez l'erreur de 400 mauvaises requéres, les touches de charge utile sont erronées à l'usure du milieu. S'il vous plaît suggérer de transmettre les paramètres corrects dans la demande d'objet. P>
Bonjour Dheeraj, bienvenue à Stackoverflow! Veuillez envisager de fournir une explication claire et concise sur la raison pour laquelle votre réponse aiderait l'OP.
Bonjour Edric, OP n'a pas abonné la réponse, c'est pourquoi je l'ai suggéré de créer un service séparé dans lequel il peut créer des méthodes et souscrire ces méthodes entraîne leur composant.
Bonjour Edric, il reçoit la 400 mauvaises erreurs de demande, les clés de charge utile sont erronées avec l'usure du milieu. veuillez le suggérer de transmettre des params corrects dans l'objet.
Vous devez vous abonner à la méthode postale car cette méthode de classe HTTP renvoie une observable. Vous pouvez réécrire votre code comme suit: -
method() {
const url='/pathname/';
return this.http.post(url, this.Object).subscribe( resp=> {
const data = resp; // response you get from serve
}, error => {
console.log(error); //error you get from server
});
}
Avez-vous
S'abonner Code> à cette demande de poste? Si oui, la demande apparaît-elle dans l'onglet Réseau? Il a du corps avec vos données d'objet?@Buczkowski Oui, la requête apparaît dans l'onglet Réseau et je peux voir mon objet dans le champ "Demande de la charge utile", mais nonFroyez-vous, je ne sais pas ce que cela signifie
@ "Oui, la demande apparaît dans l'onglet Réseau et je peux voir mon objet dans le champ" Demande de charge utile "- alors que ne fonctionne pas précisément ici? La demande est envoyée avec le contenu attendu, semble vous y travailler.
@mbojko I Obtenir une erreur dans la console et elle ne renvoie pas les données
@ T.S Inclure l'erreur de la console
@ T.S Erreur n'a pas beaucoup de détails mais cela signifie simplement que c'est mauvaise demande b>. Il pourrait y avoir plusieurs raisons pour des raisons de retard, mais la demande probablement n'est pas bien formée.
@ T Votre back-end retourne une erreur, il n'y a aucun problème avec votre code. Peut-être que
this.Object code> ne contient pas de données posées par votre backend.@Youri j'ai fait la demande avec Soapui et tout ce qui a fonctionné bien, je vais vérifier cela.Object à nouveau, peut-être que vous avez raison
1) Ne nommez pas votre objet Upper Majuscule, il existe déjà JavaScript en tant que fonction. 2) Que retourne votre backend?
Données au format @Ritaj JSON
Stackoverflow.com/questions/47180634/... Il y a votre réponse.
@ "J'ai fait la demande avec Soapui et tout le monde a fonctionné bien," - alors c'est le jeu "Repérer la différence". Comparez la bonne demande avec celle envoyée par votre application, chaque en-tête et trouvez ce qui manque.