我有一个连接到WCF服务的函数,然后应该将数据返回到网页。我的问题是,在收到服务的有效回复后,我无法“抓住”并操纵该数据。
function checkStatus(tempStatus, tempName, tempID, arrayLength){
var statusInText;
//alert('checkStatus function running');
$.getJSON('127.0.0.1'+ '/' + tempStatus, function(data){
statusInText = data.GetStatesResult.State_Name
alert('The status in Text value is ' + statusInText);
placeCrewInArray(statusInText, tempName, tempID, arrayLength);
});
}
我收到错误未捕获的TypeError:无法读取未定义的属性'State_Name'。
返回的JSON类似于{"getStatesResult":[{"Reference":"Call,work,shift","State_Name":"Active ","id":1}]}
我不确定如何从返回的JSON中获取状态名称。谢谢你的帮助。
答案 0 :(得分:3)
尝试抓住这样的数据:
statusInText = data.getStatesResult[0].State_Name
你有一个大写的“G”,当它的实际情况是“getStatesResult”时。然后它有一个对象数组,因此引用索引0,然后是State_Name
这是一个演示,您的JSON记录了您想要的结果:http://jsfiddle.net/nvkB6/
答案 1 :(得分:2)
您收到错误是因为JSON中的getStatesResult
属性返回了一个对象数组,并且您正在引用一个不存在的对象属性。试试这个:
data.getStatesResult[0].State_Name