Bester Inhaltstyp für JSONP?

120

Ich habe einen Webservice, der beim Aufruf ohne Angabe eines Rückrufs eine JSON-Zeichenfolge zurückgibt, die application/jsonals Inhaltstyp verwendet wird.

Wenn ein Rückruf angegeben wird, wird die JSON-Zeichenfolge in eine Rückruffunktion eingeschlossen, sodass JSON nicht mehr wirklich gültig ist. Meine Frage ist, soll ich es wie application/javascriptin diesem Fall servieren oder noch verwenden application/json?

Zach
quelle

Antworten:

147

Verwenden Sie application / javascript. Auf diese Weise können sich Clients auf den Inhaltstyp verlassen, ohne manuell prüfen zu müssen, ob eine Antwort aufgefüllt ist oder nicht.

John Millikin
quelle
1
In IE 9 schlägt die Meldung "SEC7112: Skript von xyz.com wurde aufgrund einer Nichtübereinstimmung des MIME- Typs blockiert " fehl. Irgendeine Idee, warum?
Pit Digger
Der Inhaltstyp "application / javascript" stimmt möglicherweise nicht mit "text / javascript" überein, das im Skript-Tag angegeben ist (oder aus irgendeinem Grund standardmäßig erwartet wird)
Ievgen Lukash
Basierend auf den Informationen in diesem Artikel würden Text / Javascript und Anwendung / Javascript in IE 9 funktionieren. Ich frage mich @ pit-digger, ob der Server einfach nicht den richtigen Header für den Inhaltstyp zurückgegeben hat.
Spig
122

Verwenden Sie application/json gemäß rfc4627.txt, wenn Sie nur JSON zurückgeben.

Wenn Sie JavaScript zurückgeben (was eigentlich JSONP ist), verwenden Sie es application/javascript gemäß rfc4329.txt

Florian Bösch
quelle