我遇到了麻烦我正在使用jQuery将子(变量,数组和对象)存储在对象文字中。
var LoginVO = LoginVO || {};
(function($){
LoginVO.username = '';
LoginVO.password = '';
LoginVO.loginDate = '';
LoginVO.userId = '';
LoginVO.authenticated = false;
LoginVO.accountNonExpired = false;
LoginVO.accountNonLocked = false;
LoginVO.credentialsNonExpired = false;
LoginVO.enabled = false;
LoginVO.salt = '';
LoginVO.timeOfLastWebServiceCall = '';
LoginVO.timeOfLastRawHttpCall = '';
LoginVO.remoteAddress = '';
LoginVO.sessionId = '';
})(jQuery的);
当我调用时,我将这些对象填充到模型对象中。所以稍后我会引用或操纵这个孩子
modelLocator.Login.sessionId = ;1234';
然后在应用程序的某些时候我需要更新这些孩子。然后我需要将它们组装成XML字符串,以便在soap信封中传回服务器。但是,Soap消息必须按特定顺序排列。我按照它在xsd中出现的顺序定义了子对象。我正在做的问题因为我做了我的循环我让孩子们无序。我无法改变后端或xsd,我无法将传输从SOAP更改为其他内容。有人可以建议一种方法来命令孩子在创作时,或者当我做for循环来控制孩子如何被添加的顺序?
感谢您的时间
杰夫
答案 0 :(得分:0)
对象属性应该是无序的。如果顺序很重要,请使用具有所需顺序的属性名称的数组,然后循环使用该数组。
arr_desired_order = ["username","password","loginDate", /* etc. */ ];
for (var i=0, j=arr_desired_order.length; i<j; i++) {
var key = arr_desired_order[i],
val = LoginVO[key];
// do something with key and val
};