it-swarm.com.ru

Получить объект JSON из AJAX вызов

Я новичок в AJAX и javascript. В моем проекте мне нужно получить объект json в моем файле javascript. Я использовал spray-json, и он показывает мне объект json в URL. http://localhost:8081/all-modules

{
  "status": "S1000",
  "description": "Success",
  "results": ["module1", "module2", "module3"]
}

Мой звонок по Ajax 

  $.ajax({
        url: 'http://localhost:8081/all-modules',
        dataType: 'application/json',
        complete: function(data){
            alert(data)
        },
        success: function(data){
            alert(data)
        }

Возвращает предупреждение [object Object]. В чем здесь проблема?

12
Shashika

Попробуйте следующее;

var data = '{"name": "John","age": 30}';

var json = JSON.parse(data);

alert(json["name"]);
alert(json.name);

Вы также можете проверить эту ссылку: Как получить доступ к объекту JSON в JavaScript

16
Cybermatatu

Если вы хотите увидеть все данные в объекте JSON, используйте JSON.stringify Обратитесь к здесь для более подробной информации

Надеюсь, это поможет.

4
ipohfly

просто console.log (data) вы увидите свой объект.

вы можете получить доступ к своей ценности с помощью чего-то вроде этого

data.id //will give you id

это также зависит от вас JSON, как вы создаете проверить это для объяснения

// 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 

поэтому ваш код будет таким

 $.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 больше не в формате JSON, это Javascript Object . Вам больше не нужно использовать такую ​​функцию, как jQuery.parseJSON.

Это одна распространенная ошибка для начинающих.

Если вы хотите увидеть этот объект Javascript, попробуйте alert(JSON.stringify(data));

0
James King

попробуйте console.log (), он войдет в консоль. оповещение не отображает объект.

 $.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

я думаю, что вы просто печатаете объект. Попробуйте что-то вроде этого 

$.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

Попробуйте data[0].status;. Ваши данные сейчас находятся в объекте. На console.log(data) вы можете увидеть, что

0
John Priestakos