/ / Comment obtenir la réponse JSON brute d'une requête jQuery $ .getJSON ()? - jquery, json

Comment obtenir la réponse JSON brute d'une requête jQuery $ .getJSON ()? - jquery, json

Comment puis-je obtenir la réponse JSON brute d'un jQuery $.getJSON() demande?

Je veux juste imprimer la réponse brute dans un alert() dialoguer dans mon navigateur?

Réponses:

3 pour la réponse № 1

Si vous utilisez JSONP, cela est fondamentalement impossible.

Si vous envoyez une demande normale à votre domaine, remplacez getJSON avec get.


14 pour la réponse № 2

À partir de jQuery 1.5, le jqXHR object est passé en tant que troisième argument de la méthode de rappel. L'objet jqXHR a une propriété reponseText qui contient la chaîne JSON brute.

function callback(data, status, jqXHR) {
alert(jqXHR.responseText);
// or console.log(jqXHR.responseText);
}

0 pour la réponse № 3

http://api.jquery.com/jQuery.getJSON/

Je préfère utiliser les méthodes .ajax complètes afin de ne pas avoir à me souvenir des différentes signatures des abstractions.

La documentation vous dit que cela équivaut à getJSON:

$.ajax({
url: url,
dataType: "json",
data: data,
success: callback
});

où vous pourriez avoir:

function callback(data) {
alert(data);
}

Je vous recommande fortement d'utiliser Firefox et Firebug avec console.log (); pour ce genre de chose. Les alertes vous rendent fou après un moment.

modifier

Sur la base des autres réponses, je peux mal comprendre votre question! Vous pouvez toujours utiliser Fiddler pour voir la réponse brute.


0 pour la réponse № 4

J'ai fini par utiliser le JSON.stringify() fonctionnalité dans https://github.com/douglascrockford/JSON-js/blob/master/json2.js.

Ce n’est pas idéal car c’est un autre fichier javascript en cours de chargement, mais cela me convient parfaitement.


0 pour la réponse № 5

Il existe différentes options pour obtenirla réponse réelle, qu'il s'agisse du JSON analysé ou de l'erreur générée par le navigateur / serveur que la méthode "getJSON" a tenté d'analyser mais a échoué.

Remarque: avec la méthode ".always", les paramètres changent en fonction de l'échec ou du succès.

$.getJSON(getData.php, function(data,textStatus,jqXHR) {
console.log(jqXHR.responseText);

//As of 1.5 we have these methods:
}).always(
function(jqXHR, textStatus, errorThrown) { //on failure
console.log(jqXHR.responseText);
}).always(
function(data, textStatus, jqXHR) { //on success
console.log(jqXHR.responseText);
}).fail(
function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR.responseText);

//As of 1.8 we have this method also:
}).then(
function(data, textStatus, jqXHR) {
console.log(jqXHR.responseText);},
function(jqXHR, textStatus, errorThrown) {
console.log(jqXHR.responseText);
});

Si vous souhaitez plus d'informations, visitez:
http://api.jquery.com/jQuery.ajax/#jqXHR ou
http://api.jquery.com/category/deferred-object/