我想将数据存储在来自web api

时间:2015-09-22 08:34:29

标签: javascript

我想使用来自web api的值,一切运行正常但是当我从单个变量中读取url中的值时,它会变成大数据:

var orguni = "http://hospdev.hispindia.org/haryana_220/api/organisationUnits?fields=name,id,code";
           
$.ajax({
    type: "GET",
    url: orguni,
    dataType: "xml",
    crossDomain: true,
    headers: {
    },
    success: function (xml) {
        $(xml).find('organisationUnit ').each(function () {
            var ou = $(this).attr('id');
        
            console.log("UID:  "+ ou);
        });
    }
});

现在,当我显示ou时,它返回一个不同身份证的列表,我想将所有身份证用作单独的值,任何人都可以告诉我该怎么做。

Currently it returns:

index.html:26 UID:  g8cMOWx5ydN
index.html:26 UID:  Q2FEgPgHvMr
index.html:26 UID:  XpIf2v7cJRX
index.html:26 UID:  uoPA7guOuLa
index.html:26 UID:  BLpdsMuZcqD

当我使用console.log(ou [0]);它从每个中返回第一个字符:

g
Q
x
...

1 个答案:

答案 0 :(得分:0)

var array = [];    
$(xml).find('organisationUnit ').each(function () {
    var ou = $(this).attr('id');
    array.push(ou); 
});

array [0]现在将是g8cMOWx5ydN。

ou [0]正在做的是将g8cMOWx5ydN变成一个数组并返回索引0,这是' g'。

编辑以下评论

你可以在检索它时使用Id,而不是使用数组。

$(xml).find('organisationUnit ').each(function () {
    var id = $(this).attr('id');

    // use id ajax call here
});

或者你可以在每个

之后使用数组
var array = [];    
$(xml).find('organisationUnit ').each(function () {
   var ou = $(this).attr('id');
   array.push(ou); 
});

//other code

for(var i=0; i<array.length; i++){
   var id = array[i];

   // use id ajax call here
}