0

我有一个连接到 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);      
});
}

我收到错误Uncaught TypeError: Cannot read property 'State_Name' of undefined

返回的 JSON 如下所示{"getStatesResult":[{"Reference":"Call,work,shift","State_Name":"Active ","id":1}]}

我不确定如何从返回的 JSON 中获取状态名称。谢谢您的帮助。

4

2 回答 2

3

尝试像这样抓取数据:

statusInText = data.getStatesResult[0].State_Name

你有一个大写的“G”,实际上它是“getStatesResult”。然后它有一个对象数组,所以引用索引 0,然后State_Name

这是您的 JSON 记录您想要的结果的演示:http: //jsfiddle.net/nvkB6/

于 2013-07-30T17:05:28.567 回答
2

您收到错误是因为getStatesResultJSON 中的属性返回一个对象数组,并且您正在引用一个不存在的对象属性。尝试这个:

data.getStatesResult[0].State_Name
于 2013-07-30T17:08:21.540 回答