121 Stimmen

Best content type to serve JSONP?

Ich habe einen Webdienst, der, wenn er ohne Angabe eines Rückrufs aufgerufen wird, einen JSON-String zurückgibt und application/json als Inhaltstyp verwendet.

Wenn ein Rückruf angegeben ist, wird der JSON-String in eine Rückruffunktion eingewickelt, sodass es sich nicht mehr um gültiges JSON handelt. Meine Frage ist, sollte ich es in diesem Fall als application/javascript oder immer noch als application/json servieren?

147voto

John Millikin Punkte 190278

Verwenden Sie application/javascript. Auf diese Weise können sich die Clients auf den Content-Type verlassen, ohne manuell überprüfen zu müssen, ob eine Antwort gepolstert ist oder nicht.

1 Stimmen

Es scheitert in IE 9 mit der Meldung "SEC7112: Das Skript von xyz.com wurde aufgrund eines MIME-Typen-Fehlers blockiert". Irgendeine Idee warum?

0 Stimmen

Der Inhaltstyp "application/javascript" kann mit "text/javascript" nicht übereinstimmen, der im Skript-Tag angegeben ist (oder standardmäßig aus irgendeinem Grund erwartet wird)

0 Stimmen

Basierend auf den Informationen in diesem Artikel würden text/javascript und application/javascript in IE 9 funktionieren. Ich frage mich, ob der Server einfach nicht den richtigen Content-Type-Header zurückgegeben hat, @pit-digger.

122voto

Florian Bösch Punkte 26702

Verwenden Sie application/json gemäß rfc4627.txt, wenn das, was Sie zurückgeben, einfach JSON ist.

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

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X