我创建了一个logintable
,其中包含用户名和密码。
我在MobilFirst environment
中配置了适配器。在调用适配器时,我得到了以下输出:
Invocation Result of procedure: 'procedure1' from the MobileFirst Server:
{
"isSuccessful": true,
"resultSet": [
{
"pwd": "Harry123",
"usrname": "Harry"
}
]
}
但在我的数据库中,UserName首先出现,然后是密码。
我的数据库结构:
usrname varchar(20)
pwd varchar(20)
您能告诉我为什么数据的顺序或位置在调用结果中有所不同。
先谢谢!!
答案 0 :(得分:2)
答案 1 :(得分:0)
假设响应看起来像这样
var result = { "resultSet": [
{"pwd": "Harry123", "usrname": "Harry", "age": 2 },
{"pwd": "wibble", "usrname": "Dave", "age": 64 },
{ "usrname": "Tarsim", "pwd": "2020", "age": 27 }
// many more records here
]};
我们对“戴夫”的数据很感兴趣。我们可以遍历结果集寻找Dave:
var rs = result.resultSet;
for ( i = 0; i < rs.length; i++) {
if ( rs[i].usrname == "Dave ) {
// do something with rs[i]
}
}
我经常发现我想通过某些字段快速访问记录,例如usrname,所以我创建了一个地图 - 记住JavaScript对象可以被视为关联数组:
var rsMap = {};
var i;
for ( i = 0; i < rs.length; i++) {
rsMap[rs[i].usrname] = rs[i];
}
现在我们可以简单地引用rsMap [anyUsrName],例如Dave的pwd:
rsMap["Dave"].pwd;
或Tarsim的年龄:
var name = "Tarsim";
rsMap[name].age
或与Harry的记录合作:
var name = "Harry";
var record = rsMap[name];