web-dev-qa-db-fra.com

Obtenir un objet JSON à partir de AJAX appel

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?

12
Shashika

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

16
Cybermatatu

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.

4
ipohfly

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)
    }
})
1
rajesh kakawat

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));

0
James King

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)
    }
0
Pratik Bhoir

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);
    }
0
kamesh

Essayez data[0].status;. Vos données sont dans un objet maintenant. À console.log(data) vous pouvez voir que

0
John Priestakos