我是AJAX
和javascript
的新手。在我的项目中,我必须在json
文件中获得javascript
个对象。我使用了spray-json
,它向我展示了url中的json对象。 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]
。这里有什么问题?
答案 0 :(得分:16)
尝试以下方法;
var data = '{"name": "John","age": 30}';
var json = JSON.parse(data);
alert(json["name"]);
alert(json.name);
您还可以查看以下链接:How to access JSON object in JavaScript
答案 1 :(得分:4)
如果您希望查看JSON对象中的所有数据,请使用JSON.stringify
有关详细信息,请参阅here
希望有所帮助。
答案 2 :(得分:1)
只是console.log(数据),你会看到你的对象。
您可以通过类似的内容访问您的价值
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)
}
})
答案 3 :(得分: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)
}
答案 4 :(得分:0)
data
不再是JSON格式,而是Javascript Object。您不再需要使用jQuery.parseJSON之类的函数。
这对初学者来说是一个常见的错误。
如果您想查看此Javascript对象,请尝试alert(JSON.stringify(data));
答案 5 :(得分: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);
}
答案 6 :(得分:0)
试试data[0].status;
。您的数据现在位于对象中。在console.log(data)
您可以看到