Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数据保存在从json检索的不同变量中_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript 如何将数据保存在从json检索的不同变量中

Javascript 如何将数据保存在从json检索的不同变量中,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我正在尝试使用nodejs从mongoDB获取html页面中的数据 我在mongo db中有一个播放器集合 播放器收藏:[{ id=值, 名称=值, 分数=价值, 等级=价值 }] 我正在尝试从名为players.js的nodejs文件中获取数据 $(document).ready(function(){ $.ajax({ url: "", context: document.div, success: function(){

我正在尝试使用nodejs从mongoDB获取html页面中的数据 我在mongo db中有一个播放器集合 播放器收藏:[{ id=值, 名称=值, 分数=价值, 等级=价值 }] 我正在尝试从名为players.js的nodejs文件中获取数据

  $(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提前使用下面的代码

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
    }
    
    var-nameI;
    scoreI变种;
    
    对于(var i=0;i您所做的是将json数组存储在
    player
    变量中。我假设您的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()
    函数循环此对象

    例如

    var玩家=[{
    “_id”:“54c600a66770e4ea42e6f324”,
    “id”:1,
    “名称”:“Dipesh”,
    “排名”:2,
    “分数”:2000,
    “_v”:0
    }, {
    “_id”:“54c600cb6770e4ea42e6f325”,
    “id”:2,
    “名称”:“Aakanksha”,
    “排名”:3,
    “得分”:3920分,
    “_v”:0
    }];
    对于(变量i=0;i

    当我点击
    运行代码片段时,它会给出
    500-内部服务器错误。
    @Sadikhasan:不确定可能是Stackoverflow问题。我的json变量没有存储在数组中的静态值。这是一个player.js模型文件,我在其中从mongoDB调用数据以寻求帮助。但我没有静态变量我的播放器中的数据[]。它来自mongo db。我尝试了你的代码,但不起作用。我需要对我的AJAX功能进行任何更改吗?好吧,极客。我已经向你展示了实现目标的方法。你必须对代码进行更改,我不知道你的服务器响应的数据类型。你必须调试和自定义代码。
    $.each(player,function(index,item){
      var name=item.name;
      var rank=item.rank;
      and so on...
    });
    
    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));