Problèmes accès CORS sur un web service avec de l'ajax
jubasse
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
jubasse Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
jubasse Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai mis en place un web-service avec le micro-framework slim.
Je l'ai testé avec Postman et tout fonctionne.
Seulement quand je souhaite faire la requête en ajax, si je lui passe un content type, j'obtiens une redirection et une erreur :
voici les headers serveur :
et voici le code en ajax :
cela fait un petit moment que je cherche, si quelqu'un à une idée ...
Merci.
J'ai mis en place un web-service avec le micro-framework slim.
Je l'ai testé avec Postman et tout fonctionne.
Seulement quand je souhaite faire la requête en ajax, si je lui passe un content type, j'obtiens une redirection et une erreur :
XMLHttpRequest cannot load http://... Response for preflight is invalid (redirect)
voici les headers serveur :
$app->response()->headers->set('Content-Type', 'application/json;charset=UTF-8'); $app->response()->headers->set('Access-Control-Allow-Origin', '*'); $app->response()->headers->set('Access-Control-Allow-Methods', 'DELETE, HEAD, GET, OPTIONS, POST, PUT'); $app->response()->headers->set('Access-Control-Allow-Headers', 'Content-Type, Content-Range, Content-Disposition, Content-Description, X-Requested-With'); $app->response()->headers->set('Access-Control-Max-Age', '1728000');
et voici le code en ajax :
jQuery(document).ready(function($) { $.ajax({ url: 'http://...', type: 'GET', dataType: 'json', beforeSend: function(xhr) { xhr.setRequestHeader( 'Content-Type', 'application/json; charset=UTF-8' ); }, //même si je met contentType : "application/json", //ça ne fonctionne pas hors lorsque je retire // le content-type cela fonctionne mais ce n'est pas le but headers:{ Accept: "application/json; charset=UTF-8" }, data : JSON.stringify({ active: 1, limit: 3, offset: 0, orderby: "username", way: "asc", date_min: "2015-11-31", date_max: "2016-01-01" }), }) .done(function(data) { console.log(data); }) .fail(function(data) { console.log(data); }); });
cela fait un petit moment que je cherche, si quelqu'un à une idée ...
Merci.
A voir également:
- Problèmes accès CORS sur un web service avec de l'ajax
- Web office - Guide
- Service spouleur - Guide
- Acces rapide - Guide
- Creation de site web - Guide
- Accès refusé - Guide