2013-02-18 205 views
0

在我的控制器我打電話web服務提取數據

Metadata.Client.Service.Client returnClient = new Metadata.Client.Service.Client(); 

returnClient = client.UpdateClient(updateClient); 

return Json(new { returnClient }, JsonRequestBehavior.AllowGet); 

在我的.cshtml Ajax調用如下

$.ajax(
{ 
    type: "GET", 
    contentType: "application/json; charset=utf-8", 
    url: '@Url.Action("UpdateRecord", "Client")', 
    data: { "id": id, "name": clientName, "code": clientCode, "typeId": clientTypeId, "clientStatusCode": clientStatusCode }, 
    dataType: "json", 
    beforeSend: function() {//alert(id); 
    }, 
    error: function (request) { 
    alert('error');  
    alert(request.responseText); 
    }, 
    success: function (data) { 
    alert('success'); 
    console.log(data); 

    //var parsed = JSON.parse(data); 
    //alert(parsed); 
    //var k = JSON.stringify(data); 
    //alert(parsed); 

    } 

我嘗試了幾種方法來提取數據。在console.log它顯示如下

[09:27:07.989] ({returnClient:{ExtensionData:{}, ClientCode:"C09091", ClientId:39, ClientName:"Test1", ClientStatus:[{ExtensionData:{}, StatusCode:{ExtensionData:{}, Name:"Active", StatusCodeId:5}, StatusType:{ExtensionData:{}, Name:"OE", StatusTypeId:1}}], ClientType:{ExtensionData:{}, ClientTypeId:7, ClientTypeName:"FDFD"}}}) 

請誰能幫幫忙提取該數據

ClientName, ClientCode, ClientId, ClientStatus.StatusCode, ClientStatus.Name, ClientStatus.StatusCodeId, StatusType.Name

回答

1
success: function (data) { 
    var ccode = data.returnClient.ClientCode; 
    var cid = data.returnClient.ClientId; 
    var cname = data.returnClient.ClientName; 
    var ctypeid = data.returnClient.ClientType.ClientTypeId; 
    var ctypename = data.returnClient.ClientType.ClientTypeName; 

    for (var i = 0; i < data.returnClient.ClientStatus.length; i++) { 
     var codeName = data.returnClient.ClientStatus[i].StatusCode.Name; 
     var codeId = data.returnClient.ClientStatus[i].StatusCode.StatusCodeId; 
     var typeName = data.returnClient.ClientStatus[i].StatusType.Name; 
     var typeId = data.returnClient.ClientStatus[i].StatusType.StatusTypeId; 
    } 
} 
+0

感謝亞歷克斯它工作絕對很好,很大的幫助。 – VVR147493 2013-02-18 10:06:59

+0

很高興爲您效勞。我忘了另外一種方式 - 你也可以使用類似字典的訪問來訪問項目:'data ['returnClient']。ClientCode'或'data ['returnClient'] ['ClientCode']'。 – 2013-02-18 11:38:14

+0

非常感謝Alex的幫助。 – VVR147493 2013-02-18 16:57:32

1

您可以嘗試以下操作:

var jsonData = eval("(" + data + ")"); 

這將返回給你JSON對象。然後你可以從這個JSON對象中檢索你的數據ct通過使用點(。)運算符或通過使用[]