通过检查chrome dev工具Feed检索成功以及objid
,personid
,personname
,{{1}等各个字段,我成功地使用我的客户端代码从wsdl获得响应在chrome dev控制台中显示。但persongroup
检索显示错误
未捕获的TypeError:无法读取未定义的属性“长度”
我只需要显示personid和名称
main.js
resultset
的index.html
currentPage = {};
currentPage.init = function(){
WL.Logger.debug("MainPage :: init");
};
function validate(){
var username=$('#username').val();
var password=$('#userpwd').val();
busyIndicator.show();
var params = {
"process": {"username":username,"userpwd":password}
};
var invocationData = {
adapter : 'SoapAdapter1',
procedure : 'userlogin_ep_process',
parameters : [params]
};
//{"process":{"username":"$('#username').val()","userpwd":"$('#userpwd').val()"}}
WL.Client.invokeProcedure(invocationData,{
onSuccess : loadFeedsSuccess,
onFailure : loadFeedsFailure
});
}
function loadFeedsSuccess(result){
WL.Logger.debug("Feed retrieve success");
busyIndicator.hide();
alert(result.responseJSON.Envelope.Body.processResponse.PERSON_ID);
//alert is priniting the value its working
displayFeeds(result.responseJSON.Envelope.Body.processResponse);
}
function loadFeedsFailure(result){
WL.Logger.error("Feed retrieve failure");
busyIndicator.hide();
WL.SimpleDialog.show("Inquiry", "Service not available. Try again later.",
[{
text : 'Reload',
handler : WL.Client.reloadApp
},
{
text: 'Close',
handler : function() {}
}]
);
}
function displayFeeds(result){
var ul = $('#mytable');
//here i get length undefined error
for (var i = 0; i < result.responseJSON.length; i++) {
var li = $('<li/>').html("PERSONID:" +result[i].PERSONID);
li.append($('<li/>').html("PERSONNAME:" +result[i].PERSONNAME));
li.append($('<hr>'));
ul.append(li);
}
}
回应:
<label>username</label> <input type="text" id="username"><br><br>
<label>password</label> <input type="text" id="userpwd"><br><br>
<input type="submit" value="login" onclick="validate();">
<ul id="mytable"></ul>
答案 0 :(得分:0)
您收到的对象中没有“responseJSON”,这就是“长度”错误未定义的原因:for (var i = 0; i < result.responseJSON.length; i++)
。删除responseJSON并使用类似:How to get object length或其他方法。