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   -
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 :


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:

1 réponse

jubasse Messages postés 24 Date d'inscription   Statut Membre Dernière intervention   1
 
De ce que j'ai compris, j'envoie en ajax une entête options (requête de preflight) qui foire j'ai donc testé le dataType: "jsonp" qui fonctionne pas non plus.
0