à partir de jquery $.ajax angulaire $http
J'ai ce bout de code jQuery qui fonctionne parfaitement origine de la croix:
jQuery.ajax({
url: "http://example.appspot.com/rest/app",
type: "POST",
data: JSON.stringify({"foo":"bar"}),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (response) {
console.log("success");
},
error: function (response) {
console.log("failed");
}
});
Maintenant, je suis tring convertir cette Angular.js code sans succès:
$http({
url: "http://example.appspot.com/rest/app",
dataType: "json",
method: "POST",
data: JSON.stringify({"foo":"bar"}),
headers: {
"Content-Type": "application/json; charset=utf-8"
}
}).success(function(response){
$scope.response = response;
}).error(function(error){
$scope.error = error;
});
Toute aide appréciée.
- Ne sais pas angular.js mais peut-être faile() est un mauvais nom d'une fonction?
- trouvé un autre similaires problème stackoverflow.com/questions/11786562/...
- peut-être trouvé une solution stackoverflow.com/questions/12111936/... besoin de digg profonde...
- Les OPTIONS de demande sera délivré par un navigateur, il sera transparent pour AngularJS / de votre application. Si l'OPTION succède à la demande initiale (POST/GET/whatever) vont suivre et votre code sera appelé dos de la principale demande pas la première OPTION.
- Il n'est probablement pas Angulaire de la modification de la méthode de demande pour les OPTIONS. C'est probablement votre navigateur de la vérification pour voir si il peut faire de la SCRO demande. Si vous essayez de faire un appel à un domaine distinct de votre navigateur devra faire une demande d'OPTIONS afin de voir si il est autorisé.
Vous devez vous connecter pour publier un commentaire.
La AngularJS de l'appel de $http ressemblerait à:
ou pourrait être écrit de manière encore plus simple en utilisant des méthodes de raccourci:
Il existe un certain nombre de choses à remarquer:
success
eterror
respectivement (veuillez aussi noter que les paramètres de chaque callback) - Déconseillé dans angulaire v1.5then
fonction de la place.then
d'utilisation peuvent être trouvés iciCi-dessus est juste un exemple rapide et de quelques conseils, assurez-vous de vérifier AngularJS la documentation pour plus d': http://docs.angularjs.org/api/ng.$http
params
etdata
sont 2 choses différentes: params fin dans l'URL (query string) alors que les données dans le corps de la requête (uniquement pour les types de demande, qui peut effectivement avoir des corps).Nous pouvons mettre en œuvre une requête ajax en utilisant le service http dans AngularJs, qui permet de lire/charger des données à partir d'un serveur distant.
$http méthodes de service sont énumérés ci-dessous,
L'une de l'Exemple:
http://www.drtuts.com/ajax-requests-angularjs/
Vous pouvez utiliser ceci :
Télécharger "angulaires-post-fix": "^0.1.0"
Puis "httpPostFix' à vos dépendances, tout en déclarant le module angulaire.
Ref : https://github.com/PabloDeGrote/angular-httppostfix
vous pouvez utiliser $.param pour affecter des données :
regardez ceci : AngularJS + ASP.NET l'API Web de la Croix-Problème de Domaine