Je suis nouveau à AJAX
et javascript
. Dans mon projet, je dois obtenir un objet json
dans mon fichier javascript
. J'ai utilisé spray-json
et il me montre l'objet json dans l'URL. http://localhost:8081/all-modules
{
"status": "S1000",
"description": "Success",
"results": ["module1", "module2", "module3"]
}
Mon appel Ajax
$.ajax({
url: 'http://localhost:8081/all-modules',
dataType: 'application/json',
complete: function(data){
alert(data)
},
success: function(data){
alert(data)
}
Il retourne une alerte [object Object]
. Quel est le problème ici?
Essayez ce qui suit.
var data = '{"name": "John","age": 30}';
var json = JSON.parse(data);
alert(json["name"]);
alert(json.name);
Vous pouvez également consulter ce lien: Comment accéder à un objet JSON en JavaScript
Si vous souhaitez voir toutes les données dans l'objet JSON, utilisez JSON.stringify
Référez-vous ici pour plus de détails
J'espère que cela pourra aider.
juste console.log (données), vous verrez votre objet.
vous pouvez accéder à votre valeur par quelque chose comme ça
data.id //will give you id
cela dépend aussi de vous json comment vous créez, cochez cette explication
// if it simply json then access it directly
//Example => {"id":1,"value":"Apple"}
data.id; // will give you 1
// if it json array then you need to iterate over array and then get value.
//Example => [{"id":1,"value":"Apple"},{"id":2,"value":"MANGO"}] then
data[0].id; // will give you 1
alors votre code sera comme ça
$.ajax({
url: 'http://localhost:8081/all-modules',
dataType: 'application/json',
complete: function(data){
alert(data.status);// S1000
alert(data.description);// Success
// for results you have to iterate because it is an array
var len = data.results.length;
for(var i=0;i<len;i++ ){
alert(data.results[i]);
}
},
success: function(data){
alert(data)
}
})
data
n’est plus au format JSON, c’est un objet Javascript . Vous n'avez plus besoin d'utiliser une fonction comme jQuery.parseJSON.
C'est une erreur commune pour les débutants.
Si vous voulez voir cet objet Javascript, essayez alert(JSON.stringify(data));
essayez console.log (), il se connectera à la console. alert n'affiche pas l'objet.
$.ajax({
url: 'http://localhost:8081/all-modules',
dataType: 'application/json',
complete: function(data){
console.log(data)
},
success: function(data){
console.log(data)
}
je pense que vous venez d'imprimer l'objet. Essayez quelque chose comme ça
$.ajax({
url: 'http://localhost:8081/all-modules',
dataType: 'application/json',
complete: function(data){
alert("status = "+data.status+"descripttion"+data.description);
},
success: function(data){
alert("status = "+data.status+"descripttion"+data.description);
}
Essayez data[0].status;
. Vos données sont dans un objet maintenant. À console.log(data)
vous pouvez voir que