<pre style="word-wrap: break-word; white-space: pre-wrap;">
Par PlaceOweb le dimanche, septembre 11 2011, 19:15 - Javascript - Lien permanent
Mais qu'est donc le contenu rajouté en plus par mon navigateur qui casse mon flux Json attendu ?
<pre style="word-wrap: break-word; white-space: pre-wrap;"> </pre>
Selon les entêtes serveur, les navigateurs (IE, Google Chrome, Firefox) réagissent différemment.
En effet l'élément content-type est nécessaire.
Content-Type: text/html
ou
Content-Type: application/json
Avec Chrome ou firefox, lors de la soumission d'un formulaire web, sans définir le content-type ou en le définissant à "application/json", il vous encapsule le retour serveur avec une balise pre :
<pre style="word-wrap: break-word; white-space: pre-wrap;">LeRetourJsonDeMonServeur </pre>
En définissant le content-type à "text/html", vous n'aurez plus ce problème, que d'autres on déjà eu :
- What do browsers want for the Content-Type header on json ajax responses?
- Submitting a form seems to be mis-interpreting the response type
Définir l'en-tête Content-Type
Header Field Definitions part of Hypertext Transfer Protocol -- HTTP/1.1 RFC 2616 Fielding, et al.
En Java
response.setContentType("text/html");
En PHP
header('Content-type: text/html');