13

我是AJAX和的新手javascript。在我的项目中,我必须在我的文件中获取一个json对象。javascript我已经使用过spray-json,它向我显示了 url 中的 json 对象。http://localhost:8081/all-modules

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

我的阿贾克斯电话

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

它返回一个警报[object Object]。这里有什么问题?

4

7 回答 7

18

尝试以下操作;

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

var json = JSON.parse(data);

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

您还可以查看此链接:如何在 JavaScript 中访问 JSON 对象

于 2015-05-12T12:51:08.293 回答
4

如果您希望查看 JSON 对象中的所有数据,请使用“JSON.stringify 参考此处”获取更多详细信息

希望有帮助。

于 2014-03-06T07:20:45.007 回答
3

只是 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)
    }
})
于 2014-03-06T07:17:43.987 回答
0

我想你只是打印对象。试试这样的东西

$.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);
    }
于 2014-03-06T10:43:40.630 回答
0

试试data[0].status;。您的数据现在在一个对象中。在console.log(data)你可以看到

于 2014-05-07T08:26:04.640 回答
0

尝试 console.log() 它将登录控制台。警报不显示对象。

 $.ajax({
    url: 'http://localhost:8081/all-modules',
    dataType: 'application/json',
    complete: function(data){
        console.log(data)
    },
    success: function(data){
        console.log(data)
    }
于 2014-03-06T07:17:33.653 回答
0

data不再是 JSON 格式,它是一个Javascript Object。您不再需要使用像 jQuery.parseJSON 这样的函数。

对于初学者来说,这是一个常见的错误。

如果您想查看此 Javascript 对象,请尝试alert(JSON.stringify(data));

于 2014-03-06T07:23:38.683 回答