dataType:'jsonp',
Stai effettuando una richiesta JSONP, ma il server risponde con JSON.
Il browser si rifiuta di provare a trattare JSON come JSONP perché sarebbe un rischio per la sicurezza. (Se il browser lo ha fatto cercare di trattare il JSON come JSONP allora sarebbe, nella migliore delle ipotesi, fallire).
Vedi questa domanda per maggiori dettagli su cos'è JSONP. Si noti che è un brutto trucco per aggirare la stessa politica di origine utilizzata prima che fosse disponibile CORS. CORS è una soluzione molto più pulita, più sicura e più potente al problema.
Sembra che tu stia provando a fare una richiesta di origine incrociata e stai lanciando tutto ciò che ti viene in mente in un enorme mucchio di istruzioni contrastanti.
Devi capire come funziona la politica della stessa origine.
Vedi questa domanda per una guida approfondita.
Ora alcune note sul tuo codice:
contentType: 'application/json',
- Questo viene ignorato quando si utilizza JSONP
- Stai effettuando una richiesta GET. Non esiste un corpo di richiesta per descrivere il tipo di.
- Ciò renderà non semplice una richiesta di origine incrociata, il che significa che, oltre alle autorizzazioni CORS di base, è necessario anche gestire un pre-volo.
Rimuovi quello.
dataType:'jsonp',
- Il server non risponde con JSONP.
Rimuovilo. (È possibile invece fare in modo che il server risponda con JSONP, ma CORS è migliore).
responseType:'application/json',
Questa non è un'opzione supportata da jQuery.ajax. Rimuovilo.
xhrFields: {withCredentials: false},
Questo è il valore predefinito. A meno che non lo si imposta su true con ajaxSetup, rimuoverlo.
headers: {
'Access-Control-Allow-Credentials' : true,
'Access-Control-Allow-Origin':'*',
'Access-Control-Allow-Methods':'GET',
'Access-Control-Allow-Headers':'application/json',
},
- Queste sono le intestazioni di risposta. Appartengono alla risposta, non alla richiesta.
- Ciò renderà non semplice una richiesta di origine incrociata, il che significa che, oltre alle autorizzazioni CORS di base, è necessario anche gestire un pre-volo.