J'ai ce morceau de code jQuery qui fonctionne bien à l'origine croisée:
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 en train de convertir cela en code Angular.js 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.
jquery
ajax
angularjs
cross-domain
angular-http
Interminable
la source
la source
Réponses:
La manière AngularJS d'appeler $ http ressemblerait à ceci:
ou pourrait être écrit encore plus simple en utilisant des méthodes de raccourci:
Il y a un certain nombre de choses à remarquer:
success
eterror
respectivement (veuillez également noter les paramètres de chaque rappel) - Obsolète dans angular v1.5then
plutôt la fonction.then
utilisation peuvent être trouvées iciCe qui précède n'est qu'un exemple rapide et quelques pointeurs, assurez-vous de consulter la documentation AngularJS pour en savoir plus: http://docs.angularjs.org/api/ng.$http
la source
params
et ildata
y a 2 choses différentes: les paramètres se retrouvent dans l'URL (chaîne de requête) tandis que les données - dans le corps de la requête (uniquement pour les types de requête qui peuvent réellement avoir un corps).Nous pouvons implémenter la requête ajax en utilisant le service http dans AngularJs, ce qui permet de lire / charger des données à partir d'un serveur distant.
Les méthodes de service $ http sont répertoriées ci-dessous,
Un des exemples:
http://www.drtuts.com/ajax-requests-angularjs/
la source
Vous pouvez utiliser ceci:
Télécharger "angular-post-fix": "^ 0.1.0"
Ajoutez ensuite 'httpPostFix' à vos dépendances tout en déclarant le module angulaire.
Réf: https://github.com/PabloDeGrote/angular-httppostfix
la source
vous pouvez utiliser $ .param pour attribuer des données:
Regardez ceci: AngularJS + ASP.NET Web API Cross-Domain Issue
la source