我正在使用AJAX调用从数据库中获取一些数据。
$.ajax({
url: URL + '/main/noc/html_forms/query.cfm',
type: 'GET',
dataType: 'json',
data: {
dataset: 'Users'
},
async: false,
timeout: 5000,
cache: false,
success: function(data) {
var result = data.result;
console.log(result);
}
});
我可以从控制台看到数据已成功检索,但我无法将此数据打印到DOM ID元素。即使我执行了document.write(result);
,屏幕上显示的文字也是
[object Object],[object Object],[object Object]
同样,数据被成功检索,因为我可以看到它,我无法得到它。
我知道这可能是一个愚蠢的问题,它最终会成为我可以在101课程中学到的东西,但有人可以解释这里发生了什么以及如何获取我的数据吗?
答案 0 :(得分:1)
在您发布的屏幕截图中,您似乎将AJAX调用的结果作为Array的形式获得。因此,要访问其数据,您可能需要执行类似... document.write(result[0].user_name)
或
$.ajax({
url: URL + '/main/noc/html_forms/query.cfm',
type: 'GET',
dataType: 'json',
data: {
dataset: 'Users'
},
async: true,
cache: false,
success: function(data) {
var result = data.result;
for (var i = 0; i < result.length; i++) {
document.write(result[i].user_name);
}
console.log(result);
}
});
希望这有帮助。
答案 1 :(得分:1)
您的代码很好但是在成功的情况下它会返回对象数组,那么您必须像这样修改代码
$.ajax({
url: URL + '/main/noc/html_forms/query.cfm',
type: 'GET',
dataType: 'json',
contentType:'application/json;charset=utf-8',
data: {
dataset: 'Users'
},
async: false,
timeout: 5000,
cache: false,
success: function(data) {
alert(data[0].user_name);
console.log(result);
}
});
答案 2 :(得分:0)
success: function(data) {
$.each(data,function(index,obj)
{
console.log('object ' + index);
$.each(obj,function(key,value)
{
console.log(key + ':' + value);
});
});
}
您正在从服务器获取一组对象。你无法直接打印出来。您需要遍历此数组以打印值。为此,您可以使用$.each
jquery函数首先遍历对象数组,然后再次遍历每个对象的所有键值对。您可以阅读$.each
函数here