我正在尝试使用nodejs从mongoDB获取html页面中的数据 我在mongo db中有一个播放器集合 球员收藏:[{ ID =值, 名称=值, 得分=值, 秩=值 }] 我试图从nodejs文件中获取名为players.js文件的数据
$(document).ready(function(){
$.ajax({ url: "",
context: document.div,
success: function(){
player[]= $(".player").load("/players")
}});
});
我正在以这种格式获取数据:
[
{
"_id": "54c600a66770e4ea42e6f324",
"id": 1,
"name": "Dipesh",
"rank": 2,
"score": 2000,
"__v": 0
},
{
"_id": "54c600cb6770e4ea42e6f325",
"id": 2,
"name": "Aakanksha",
"rank": 3,
"score": 3920,
"__v": 0
}
当我保存它变量并尝试使用
来打印该变量的值
文件撰写(VARNAME);
它告诉我:
[object Object]
我想以下列方式获取数据:
player.name=value,
player.score=value
喜欢不同变量中的不同值。
请帮我解决这个问题。 Thanx提前
答案 0 :(得分:1)
var players = [{
"_id": "54c600a66770e4ea42e6f324",
"id": 1,
"name": "Dipesh",
"rank": 2,
"score": 2000,
"__v": 0
}, {
"_id": "54c600cb6770e4ea42e6f325",
"id": 2,
"name": "Aakanksha",
"rank": 3,
"score": 3920,
"__v": 0
}];
for (var i = 0; i < players.length; i++) {
document.write(players[i].name);
}
&#13;
答案 1 :(得分:1)
var obj = [{"_id":"54c600a66770e4ea42e6f324","id":1,"name":"Dipesh","rank":2,"score":2000,"__v":0},{"_id":"54c600cb6770e4ea42e6f325","id":2,"name":"Aakanksha","rank":3,"score":3920,"__v":0}];
var temp = [];
$.each(obj,function(i,val){
player = {};
player.name =val.name;
player.score = val.score;
temp.push(player);
});
alert(JSON.stringify(temp));
<强> Demo 强>
答案 2 :(得分:0)
使用以下代码
player[]
是一个数组,这就是你必须使用如下所示的原因。
var name = player[0].name;
var score =player[0].score;
获取所有元素,您可以在代码下面使用。
var nameI;
var scoreI;
for(var i=0;i<player.length;i++){
nameI= player[i].name;
nameI=player[i].score;
...
...
...
// you can get all the properties for your object
}
答案 3 :(得分:0)
您所做的就是将json数组存储在player
变量中。我假设你的玩家变量看起来像:
var player= [
{
"_id": "54c600a66770e4ea42e6f324",
"id": 1,
"name": "Dipesh",
"rank": 2,
"score": 2000,
"__v": 0
},
{
"_id": "54c600cb6770e4ea42e6f325",
"id": 2,
"name": "Aakanksha",
"rank": 3,
"score": 3920,
"__v": 0
}
如果要打印json对象,则可以使用JSON.stringify()
函数。这将对你的对象进行字符串化。
或
如果要将其分配给任何变量,为此必须使用$.each()
函数遍历此对象。
例如
$.each(player,function(index,item){
var name=item.name;
var rank=item.rank;
and so on...
});