dataType:'jsonp',
Vous effectuez une requête JSONP, mais le serveur répond avec JSON.
Le navigateur refuse d'essayer de traiter le JSON comme JSONP car ce serait un risque pour la sécurité. (Si le navigateur n'essayer de traiter le JSON comme JSONP il serait alors, au mieux, échec).
Consultez cette question pour plus de détails sur ce qu'est JSONP. Notez que c'est un mauvais hack pour contourner la politique de même origine qui était utilisée avant que CORS ne soit disponible. CORS est une solution beaucoup plus propre, plus sûre et plus puissante au problème.
Il semble que vous essayez de faire une demande d'origine croisée et que vous jetez tout ce à quoi vous pouvez penser dans une pile massive d'instructions contradictoires.
Vous devez comprendre le fonctionnement de la politique de même origine.
Consultez cette question pour un guide détaillé.
Maintenant, quelques notes sur votre code:
contentType: 'application/json',
- Ceci est ignoré lorsque vous utilisez JSONP
- Vous faites une demande GET. Il n'y a pas de corps de requête pour décrire le type de.
- Cela rendra une demande d'origine croisée non simple, ce qui signifie qu'en plus des autorisations CORS de base, vous devez également gérer un pré-vol.
Supprimez ça.
dataType:'jsonp',
- Le serveur ne répond pas avec JSONP.
Enlève ça. (Vous pouvez faire en sorte que le serveur réponde avec JSONP à la place, mais CORS est meilleur).
responseType:'application/json',
Ce n'est pas une option prise en charge par jQuery.ajax. Enlève ça.
xhrFields: {withCredentials: false},
C'est la valeur par défaut. À moins que vous ne le définissiez sur true avec ajaxSetup, supprimez-le.
headers: {
'Access-Control-Allow-Credentials' : true,
'Access-Control-Allow-Origin':'*',
'Access-Control-Allow-Methods':'GET',
'Access-Control-Allow-Headers':'application/json',
},
- Ce sont des en-têtes de réponse. Ils appartiennent à la réponse, pas à la demande.
- Cela rendra une demande d'origine croisée non simple, ce qui signifie qu'en plus des autorisations CORS de base, vous devez également gérer un pré-vol.