Meilleur type de contenu pour servir JSONP?

120

J'ai un service Web qui, lorsqu'il est appelé sans spécifier de rappel, renvoie une chaîne JSON en utilisant application/jsoncomme type de contenu.

Lorsqu'un rappel est spécifié, il encapsulera la chaîne JSON dans une fonction de rappel, donc ce n'est plus vraiment du JSON valide. Ma question est la suivante: dois-je le servir comme application/javascriptdans ce cas ou encore l'utiliser application/json?

Zach
la source

Réponses:

147

Utilisez application / javascript. De cette manière, les clients peuvent s'appuyer sur le type de contenu sans avoir à vérifier manuellement si une réponse a un remplissage ou non.

John Millikin
la source
1
Il échoue dans IE 9 avec le message "SEC7112: Le script de xyz.com a été bloqué en raison d'une incompatibilité de type mime" Une idée pourquoi?
Pit Digger
Le type de contenu "application / javascript" peut ne pas correspondre avec "text / javascript" spécifié dans la balise de script (ou attendu par défaut pour une raison quelconque)
Ievgen Lukash
D'après les informations contenues dans cet article, text / javascript et application / javascript fonctionneraient dans IE 9. Je me demande @ pit-digger si le serveur ne retournait tout simplement pas l'en-tête de type de contenu correct.
spig
122

Utilisez application/json selon rfc4627.txt si ce que vous retournez est du JSON brut.

Si vous retournez JavaScript (ce qui est vraiment ce qu'est JSONP), utilisez application/javascript selon rfc4329.txt

Florian Bösch
la source