Wie man JQuery zu behandeln Ajax-Antwort als text anstelle von JSON
Bin ich verbrauchen eine API, die JSON zurückgeben. Die JSON-syntax zurückgegeben API ist kaputt und ich habe keine Kontrolle, um es fest.
Bin ich mithilfe von JQuery-Ajax-call und es gibt 500 - Internal Server Error. Ich möchte die API-Antwort und nur-text und Update der JSON-syntax. es muss nur ein zusätzliches Komma am Ende, das kann ich entfernen. Aber ich bin nicht in der Lage zu Holen Sie sich die Antwort als Klartext.
Ich habe versucht, mehrere Ansätze wie das setzen von content-type und/oder-accept-Header text mit Datentyp text wie unten. Mein code ist wie folgt.
$.ajax({
url: apiUrl + "/" + customerId + "/accounts/" + accountId,
data: "client_id=" + clientId,
dataType: 'text',
type: 'GET',
async: true,
statusCode: {
404: function (response) {
console.log('Invalid Transaction details');
},
200: function (response) {
//response processing code here
}
},
error: function (jqXHR, status, errorThrown) {
//Error handling routine
}
});
Update 1
Die API funktioniert gut, wenn direkt aufgerufen browser oder fiddler. Das ist, wie komme ich zu wissen, dass die JSON-syntax ist gebrochen.
1. Überprüfen Sie die Antwort mit online-JSON validators. 2. Überprüfen Sie Ihre veränderte Reaktion mit online-JSON validators. 3. Ändern Sie Ihren code entsprechend. 4. Bitte poste code zu vermeiden, eine Lawine von down-votes 🙂
Ich verstehe Ihre Bedenken. Leider, ich kann nicht teilen Sie die API-URL hier. Jedoch, ich will nur wissen ob es möglich ist, jQuery Behandlung der JSON als plain text. Und wie?
Können Sie uns den code, den Sie zum Lesen der json-als text?
Auch wenn Sie immer einen 500 in Antwort auf Ihre jQuery-AJAX-call, Frage ich mich, wenn Sie eine ungültige Anfrage. Wirklich unmöglich für uns zu wissen, ohne zu verstehen, API-Anforderungen.
InformationsquelleAutor theark | 2014-10-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihr code läuft auch gut, es muss ein anderer Fehler
Gibt es json von einer test-API als string alle in Ordnung.
InformationsquelleAutor Tuan
InformationsquelleAutor Edgar Pino
Sagte Sie
und
in Ihre Kommentare, die führt mich zu glauben, dass dies ein CORS-Problem auf der Oberseite des
500 - Internal Server Error
Sie erleben auf der server-Seite.Wenn Sie wollen, um die server-Antwort als text (und kann man das irgendwie craft Ihre API-Anforderung, um keine Reise zu einem 500 Fehler), dann verwenden Sie ein server-side - wrapper/proxy (oder PHP + cURL), um Ihre Daten von der 3rd-party-Website, wie text, zu filtern oder anderweitig zu beheben, dann
eval()
es (auf eigenes Risiko) als eine korrekte JSON-Objekt.InformationsquelleAutor Drakes