Comment afficher retourné JSON à partir d'un jQuery .ajax post
De commencer à travailler sur un projet qui est entièrement construit sur des données JSON. Il est rentré comme ceci:
{"location":{"id":10,"contactPhone":"8675309","contactName":"bob","name":"bill smith","zipCode":"90210","state":"California","address1":"104 S. Olive","city":"Temecula","country":"USA"},"success":true}
Je suis à l'aise de traitement des données renvoyées sous forme HTML (généralement tables) en parcourant les DOM avec le .trouvez et autres filtrage de trouver le succès des drapeaux. Je n'ai aucune idée de comment faire cela avec JSON - j'ai besoin de filtre pour le dernier objet de la "réussite" et de vérifier si elle est vraie ou fausse. Avec le HTML retourné données que j'ai fais comme ça:
submitHandler: function(form) {
$.ajax({
//other ajax stuff
success: function(data) {
var answer = $(data).find("td:eq(1)").text();
var message = $(data).find("td:eq(3)").text();
//console.log(data);
if (answer == "True") {
$('#messages').show().html(message);
} else {
$('#messages').show().html('Error logging in: ' + message);
}
}
});
return false;
}
- Même après l'utilisation de cette méthode, je ne comprends pas complètement ce que l'
fonction(données) signifie, Ive utilisé de données, msg et la réponse
sans vraiment comprendre ce que la différence entre eux sont.
Je suis en mesure de publier sur le site web et obtenir le retour JSON avec cette .appel ajax
$.fn.serializeObject = function() {....}
submitHandler: function(form){
var wrapper = {};
var location = {};
wrapper.location = $("#newLocation").serializeObject();
$.ajax({
type: $(form).attr('method'),
url: '/web/service/' + 'locationService' + '/' + 'createLocation',
dataType: 'json',
async: false,
data: JSON.stringify(wrapper),
success: function(msg) {
console.log('success' + msg );
//need to traverse to success and if true, do something
},
error: function(msg) {
console.log('failure' + msg );
//need to traverse to success and if false, do something
}
});
return false;
}
- Comment avez-vous du filtre à la "réussite" dans le cadre d'une chaîne JSON (chaîne ou un objet?)
- Quels sont les termes corrects pour la clé de/nombre de paires (c'est que même correct) dans la chaîne JSON IE "contactPhone":"8675309"
- Comment puis afficher les données en cas de "succès":"true" - je vais travailler sur moi-même, mais si quelqu'un a une bonne méthode j'aimerais avoir quelques conseils. J'imagine que vous venez de appendTo une table en quelque sorte?
J'ai beaucoup de questions sur JSON, et suis en train de parole les questions d'une manière générale, de sorte que l'aide que je peut aider quelqu'un d'autre, je m'excuse pour la longueur de ce post. J'apprécie toute l'aide et si demandé sera de raccourcir/modifier cette question.
OriginalL'auteur Dirty Bird Design | 2013-05-29
Vous devez vous connecter pour publier un commentaire.
msg ici est un objet au format json. Vous pouvez obtenir la valeur de succès comme ça:
"contactPhone":"8675309"
contactPhone est la clé, "8675309" est la valeur. Mais dans votre exemple, pour obtenir "contactPhone" de la valeur, vous devez d'abord obtenir l'emplacement de l'objet:
if(msg.succès) si vrai, si(!msg.le succès) si la valeur est false
Est-ce n'importe où près correct de supposer que vous serait de stocker un var pour chaque clé/valeur que votre exemple var contactPhoneValue = msg.emplacement.contactPhone; et le faire quelque chose comme de la merde ne sais pas comment le serait une .chaque fonction?) <tr><td> contactPhoneValue </td></tr>?
OriginalL'auteur A. Wolff
JSON (JavaScript Object Notation) est un léger d'échange de données au format. Il est facile pour les humains à lire et à écrire. Il est facile pour les machines d'analyser et de générer.
http://www.json.org/
Maintenant le code pour la lecture et l'écriture des propriétés de l'objet json est très similaire comme il est normal pour objet javascript.
L'accès et la manipulation de javascript et Json objet est le même.
Voici un très bon guide pour:
http://www.dyn-web.com/tutorials/obj_lit.php
Mise à JOUR:
Une meilleure version, cela pourrait peut-être aider:
http://jsfiddle.net/hvzcg/4/
L'édition de ma réponse pour la façon de parcourir l'objet...
voulez-vous tout simplement faire la même chose data['contact'] = "nouveau nom"; pour chaque paire clé/valeur? Si oui, comment voulez-vous afficher le résultat?
Oui, vous pouvez le faire à n'importe quelle valeur dans l'objet json, j'ai mis à jour la réponse à ses données.emplacement.['contactPhone'] pas de données['contactPhone']
c'est: des données.emplacement['contact'] ou de données.emplacement.le nom du contact que Vous avez un supplément de dot dans votre échantillon
OriginalL'auteur TaLha Khan