2010-05-13 8 views
9

Devo ottenere il testo di risposta da una pagina resourceindex come oggetto JSON. Quando non metto un'intestazione Accept nella richiesta, mi mostra la risposta xml (lo vedo in un avviso) ..xmlhttprequest responsetext in arrivo per Accept intestazione: text/xml, ma errore server per applicazione/JSON

Ma voglio la risposta come un oggetto JSON .. Cosa dovrei fare. Una soluzione sarebbe stata

httpRequest.setRequestHeader('Accept', 'application/JSON'); 

ma questo mi dà un errore del server: 500

Inoltre si dice

Uno scrittore corpo del messaggio per il tipo Java, di classe ...., e MIME tipo di media, application/octet-stream, non è stato trovato

Qualcuno può suggerire cosa fare per superare questo e ottenere la risposta come JSON?

+1

il tipo MIME corretto per JSON è 'application/json', non' application/JSON'. Cosa succede se ci provi? –

+0

Hey T.J. Crowder, grazie! quello era il problema !! l'intestazione di accettazione doveva essere fatta in lettere minuscole invece di Caps! Quindi la risposta: httpRequest.setRequestHeader ('Accept', 'application/json'); il suo json e non JSON – encryptor

+0

LOL! E qui l'avevo scritto come una risposta, poi ho pensato "No, non sarà così, basta fare un commento" e ho cancellato la mia risposta. Questo mi insegnerà. Ho annullato la mia risposta. –

risposta

20

Il tipo mime corretto per JSON è application/json, non application/JSON. Questo potrebbe essere il problema.

3

httpRequest.setRequestHeader ('Accept', 'application/json'); la sua JSON e JSON non

0

Si consiglia inoltre di aggiungere un mimo aggiuntivo di text/javascript come:

httpRequest.setRequestHeader('Accept', 'application/json, text/javascript'); 
Problemi correlati