AngularJS et de la Croix de Domaine POST
j'ai une question concernant la SCRO requêtes HTTP en-tête d'Autorisation:
Il me semble que le navigateur web n'est pas l'envoi d'en-tête d'Autorisation avec une requête POST, est-il un moyen de contourner cela?
Voici mon Angulaire code:
var app = angular.module('app', [])
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
}]);
app.controller('ctrl', function ($scope, $http) {
$scope.insert = function () {
$http.post('http://my.api.com/Insert',
{
headers: {
'Authorization': 'Basic dGVzdDp0ZXN0',
'Content-Type': 'application/x-www-form-urlencoded'
},
data: {
'Code': 'test data'
},
withCredentials: true
});
};
});
Sur le côté serveur, j'ai ceci dans mon web.config
<httpProtocol >
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Headers" value="Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With" />
<add name="Access-Control-Allow-Methods" value="GET,POST,PUT,DELETE,OPTIONS" />
<add name="Access-Control-Allow-Credentials" value="true" />
</customHeaders>
</httpProtocol>
u ne trouver une solution pour cela ?
OriginalL'auteur aron | 2013-10-13
Vous devez vous connecter pour publier un commentaire.
Vous êtes à l'aide de la
$http.post
de manière incorrecte. Le deuxième paramètre est le données vous avez besoin d'envoyer à un serveur, vous ne pouvez pas définir les en-têtes de ce genre. Dans votre cas, il va envoyer l'ensemble de l'objetcomme de la charge utile JSON
Essayez ceci:
merci, mis à jour.
dans mon cas, il n'a pas de travail;
Joshi: Quelle est votre cas?
de sorte que la Base dGVzdDp0ZXN0 partie, whtas qui? est le " dGVzdDp0ZXN0 code obligatoire?
OriginalL'auteur Khanh TO
withCredentials - {boolean} - pour définir la withCredentials drapeau sur l'objet XHR. Voir les demandes avec des informations d'identification pour plus d'informations.
OriginalL'auteur Lauri Elias