AngularJS $http.post
Je suis en train de faire un $http.poste et obtenir une réponse, j'ai essayé de plusieurs façons, mais je ne peux pas le faire fonctionner.
Les données que je vous fais parvenir (userData) est un objet json.
$http.post(url, userData)
.success(function(data, status, headers, config) {
console.log('post success');
console.log('data');
console.log(data);
console.log('status');
console.log(status);
console.log('headers');
console.log(headers);
console.log('config');
console.log(config);
}).error(function(data, status, headers, config) {
console.log('post error');
console.log('data');
console.log(data);
console.log('status');
console.log(status);
console.log('headers');
console.log(headers);
console.log('config');
console.log(config);
});
Et j'obtiens une erreur 404 dans le statut.
Merci
- Moyens URL demandée n'existe pas. Donnez-nous plus d'info afin que nous puissions vous aider.
- Je suis sûr que l'URL n'existe. - Je faire un tort de l'appeler comme ceci <code> $http({ method: 'POST', url: 'url', data: userData, les en-têtes: {"Content-Type": "application/x-www-form-urlencoded'} }) .succès(function(data) { console.journal (le post de succès"); console.log ("les données"); console.log(data); }).erreur(function(data) { console.log ("erreur post'); console.log ("les données"); console.log(data); }); <code>, et l'erreur est différent n'est pas 404, 415 est pas pris en charge Type de Média, ce qui est correct, parce que les données de l'utilisateur est censé être json.
- Sans avoir plus de code je ne peux pas vous donner toute aide utile. Soit l'URL n'est pas en faveur de la méthode POST ou certains bizarre réponse du serveur.
- Débogage avec firebug, j'ai réalisé que l'erreur dans la console (quand je montre le statut) est 404, mais dans l' .Net est une autre erreur, 405 method not Allowed. Je suis en cours d'exécution sur un serveur avec nodejs (avec l'express et de la scro), l'appel externe service http.
- Vous êtes probablement en train pour se rendre à un service via une requête POST. Essayez de changer de $http.poste à $http.obtenez de l'
Vous devez vous connecter pour publier un commentaire.
La "405 method not allowed" la réponse est parce que votre navigateur est en train de faire un "contrôle en amont" méthode des OPTIONS de demande via angulaire $http et le serveur ne le supporte pas. Il y a un tas de condition préalable réponses pour permettre la SCRO. Si vous avez accès au serveur, vous pouvez ajouter le support. Une option est d'utiliser nginx en tant que proxy frontal avec ce type de configuration:
http://enable-cors.org/server_nginx.html
Lire les commentaires, ils sont très instructif.
Aussi: voir "Contrôlé les Demandes" ici: https://developer.mozilla.org/en-US/docs/HTTP/Access_control_CORS
404 signifie que l'URL que vous êtes l'envoi de la demande n'existe pas.
Si vous êtes en utilisant un sous-répertoire comme
mysite.com/angular-site
, et que vous définissez l'URL ici à un chemin d'accès relatif, comme "/url/de/api" - vous aurez à "mysite.com/url/to/path
" au lieu de la corriger "mysite.com/angular-site/url/to/path
".Donc faites attention à ce que, il pourrait être le problème.