AngularJS - $http get renvoie l'erreur avec le statut de 0?
J'ai une application AngularJS dans lequel je vais essayer d'obtenir une des données XML avec $http get à partir d'un serveur de dire http://example.com/a/b/c/d/getDetails?fname=abc&lname=def (présent lors de l'accès manuellement en entrant le lien dans un navigateur affiche une arborescence du fichier XML).
Quand je lance l'application les données à partir de ce lien n'est pas récupérée. Au lieu de cela son montrant une erreur avec état 0.
//url = http://example.com/a/b/c/d/getDetails?fname=abc&lname=def
$http.get(url).success(function (data){
alert("Success");
deferred.resolve(data);
}).error(function (data, status){
console.log("Error status : " + status);
});
Je ne suis pas sûr pourquoi l' $http.obtenez de l'échec et va à la fonction d'erreur de renvoyer l'état 0.
Mais si je passe une URL pour le serveur local qui a un objet JSON, il fonctionne.
Est le problème à cause de moi la tentative d'accès au fichier XML à partir d'un domaine différent(SCRO problème?) ou quelque chose d'autre?
S'il vous plaît aidez-moi!
Nope. Je n'ai pas quelque chose comme ça dans ma console.
Que faire si je ne veux pas le journal de la console de l'erreur, mais de retour à la DOM?
OriginalL'auteur kumareloaded | 2014-11-26
Vous devez vous connecter pour publier un commentaire.
Vous avez HTTP de contrôle d'accès (SCRO) questions .
Le serveur de répondre à votre REPOS, les demandes DOIVENT inclure les en-têtes spécifié par la SCRO, afin de permettre Angulaire de consommer correctement la réponse. Essentiellement, cela signifie y compris les Access-Control-Allow-Origin-tête dans votre réponse, en précisant les serveurs d'où provient la demande, qui sont autorisés. (ref)
Il y a de la directive Angulaire permet d'obtenir/définir des listes blanches et des listes noires utilisées pour s'assurer que les Url utilisées pour l'approvisionnement Angulaire modèles sont en sécurité.
Si vous utilisez xmlhttprequests vous avez besoin JSONpadding. Toutefois, le serveur doit prend en charge le "Cross-Origin Resource sharing (SCRO)" en ce le pouvez, il est assez simple de recevoir des données à partir d'un autre domaine.
OriginalL'auteur KByK
oui tu a raison, c'est parce que par défaut le type de contenu pour $http est “application/json” si vous souhaitez modifier les données de la demande ou de la réponse des données vous pouvez modifier à l'aide de tranformRequest et tranformResponse. vous pouvez trouver plus d'informations sur ce ici
aussi j'ai trouver un article sur la mise en œuvre de tranformRequest changer de poste de données à partir de json pour post de formulaire en angularjs
votre lien de redirection vers des sites de spam
OriginalL'auteur Kuldeep Dangi