J'écris un site Web avec AngularJS qui communique avec une API sur le serveur et fournit quelques informations. pour la partie de connexion Je dois envoyer une demande de poste http contenant Email, mot de passe et etc. Cela fonctionne bien sur google Chrome et IE. Je veux dire qu'il envoie la demande de poste et obtient un jeton. Mais dans FireFox comme j'ai vérifié dans le réseau, il envoie une demande d'OPTION et obtient 200 mais après cela il n'envoie aucun message! par conséquent, mon identifiant ne disparaîtra pas et je ne recevrai aucun jeton.AngularJS demande Publier ne fonctionne pas correctement sur Firefox
que devrais-je faire pour cette situation?
App.config:
$httpProvider.defaults.withCredentials = true;
$httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8;';
$httpProvider.interceptors.push('httpRequestInterceptor');
Fonction en service qui envoie la demande:
this.loginEmail = function(f_email, f_pass, deviceModel, deviceOs) {
var data = $.param({
email: f_email,
password: f_pass,
device_model: deviceModel,
device_os: deviceOs
});
return $http({
method: "POST",
url: app.baseUrl + 'login_email/' + app.storeID + '/' + app.device_id,
data: data
}).success(function(response){
return response.status;
});
/*return $http.post(app.baseUrl + 'login_email/' + app.storeID + '/' + app.device_id, data).success(function(response){
return response.status;
}).error(function(response){
return response.status;
});*/
};
informations d'identification du serveur sont vraies
CORS semble bien parce que je peux faire obtenir demande
EDIT: Voici une autre chose qui peut être liée à ce problème: dans Chrome quand je suis connecté pour les requêtes GET envoie l'en-tête de jeton mais après il ne
httpRequestInterceptor:
app.factory('httpRequestInterceptor', function ($cookieStore) {
return {
request: function (config) {
config.headers['Authorization'] = $cookieStore.get('Auth-Key');;
config.headers['Accept'] = 'application/json;odata=verbose';
return config;
}
};
});
Peut être une extension de navigateur interférant avec la requête. Aussi, qu'est-ce que 'httpRequestInterceptor'? – Phil
@Phil a ajouté httpRequestInterceptor à la modification – W1ldworm