JSONP funktioniert in Chrome aber nicht in Firefox/IE?

Entwickle ich eine mobile Website, und ich bin mit JSONP Anfragen per jQuery zu Kontaktieren, die Daten-server zum abrufen von Informationen für die Anzeige auf der Handy-Seite. Mir wurde gesagt, nicht zu verwenden ein PHP-Skript als proxy-denn es würde zu zusätzlichen unnötigen load auf dem mobile server (Millionen von Nutzern) und streng zu tun, das client-Seite. Ich bin mit dem folgenden code:

var get_vars = '&callback=?&var=here';

$.ajax({
    url: "http://server.com/script?" + get_vars,
    type: "GET",
    dataType: 'jsonp',
    //xhrFields: { withCredentials: true },
    //crossDomain: true,
    success: function(data){
        console.log(data)
    }
});

Verwendet der server den cookie-Authentifizierung, um festzustellen, ob der Benutzer angemeldet ist, bevor die Rückgabe von Daten. Seltsam genug, dieser code war mal auf Firefox. Die anschließende neu geladen/aktualisiert von der Seite führte, in der die Anmeldeinformationen nicht mit dem server abgeglichen. Zuerst dachte ich, es war durch einige änderungen in meinem code, aber nach dem Test in Google Chrome, es funktioniert 100% der Zeit. Es gibt keine JS-Fehler angezeigt in der Konsole für Firefox/IE entweder. Ich machte sicher, das war nicht ein Problem mit dem Zwischenspeichern und auch versucht, diese auf einem anderen Rechner mit Firefox, ohne Erfolg. Dieses Problem passiert auch auf Windows Phone und die neueste version von Internet Explorer auf Windows 8. Ich gehe davon aus, dass es sein muss, cookie-und irgendwie müssen die Anmeldeinformationen nicht an den remote server übergeben.

Als für den Versuch zu verwenden, CORS... ich habe es versucht (wie Sie sehen können, die auskommentiert bits, plus ich habe versucht, hinzufügen $.Unterstützung.cors = true), und konnte nicht damit es funktioniert. Ich habe immer das "cross-domain-unauthorized" Fehler, obwohl der server sendet die folgenden überschriften:

Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *

Jemand eine Ahnung, was könnte die Ursache sein? Ich würde gerne diese arbeiten mit JSONP da es funktioniert in Chrome schon.

Zusätzliche Hinweise: Es erscheint ein anderer Entwickler nicht mit den gleichen Probleme wie ich. Er berichtet, dass es funktioniert in Firefox 100% der Zeit. Ich selbst habe versucht, die folgenden:

  • Laden Sie Firefox in einer Virtuellen Maschine und lief in die gleichen Probleme (um sicherzustellen, dass nicht ein OS-Problem)
  • Cache gelöscht auf meinem Handy, deaktiviert WLAN, angeschlossen und über eine eigene IP mit dem gleichen Problem

Pfui. Ich fange an zu denken, es könnte sein, auf der server-Seite, obwohl ich bin mir nicht sicher, warum es würde, da war 100% in Ordnung, wenn ich mit PHP.

  • Werfen Sie einen Blick auf diese: stackoverflow.com/questions/1640391/...
  • Ich sah schon, dass. Ich habe einiges an Forschung vor der Buchung. Offenbar ein anderer Entwickler nicht mit den gleichen Problemen wie ich bin und sagt, dass seine Arbeit für ihn in Firefox 100% der Zeit. Aus irgendeinem Grund mehrere Geräte in meinem Haus einfach nicht scheinen, um die Authentifizierung ordnungsgemäß - mit Ausnahme von Google Chrome auf meinem desktop.
InformationsquelleAutor Daniel | 2014-12-13
Schreibe einen Kommentar