2014-02-24 61 views
0

我想在$ .ajax中檢索我的對象值。

我的web服務方法Statistic_1返回一個Object1,它有一個object2數組。

在C#代碼中,我以這種方式檢索:Object1.Items [0] .Name例如。

項目是我Object1的一個屬性,它是object2的一個數組。

這裏是我的JavaScript代碼:

function getStatistic1() { 

    var response; 
    var allstat1 = []; 

    $.ajax({ 
    type: 'GET', 
    url: 'http://localhost:52768/Service1/Statistic_1', 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    success: function (msg) { 
      response = msg.d; 
      for (var i = 0; i < response.length; i++) { 

        allstat1[i] =**???** 

      } 

      fillData(allstat1); 

    }, 
    error: function (e) { 
    alert("error loading statistic 1"); 
    } 
    }) 
} 

function fillData(data) { 

    $('#table_campaigns').dataTable({ 
     **???** 
    }); 
} 

如何實現檢索值?

編輯: @RoyiNamir,@湯姆Cammann
這裏是我的代碼在Service.cs

[OperationContract] 
    [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)] 
    ResponseStatistic_1 Statistic_1(); 

ResponseStatistic_1類

public class ResponseStatistic_1 : IBaseClientEntity 
{ 
    public ResponseStatistic_1() 
    { 

    } 

    public ResponseStatistic_1(Statistic_1 [] items) : this() 
    { 
     this.Items = items; 
    } 

    #region Properties 
    public Statistic_1[] Items 
    { 
     get; 
     set; 
    } 

而且Statistic_1是類

public class Statistic_1 
{ 
    private string _geografisch_zone; 
    private decimal[] _sum; 
    private int _yearStart; 
    private int _yearEnd; 

      ... 
} 

我如何實現for循環?

+0

請問你的JSON樣子? –

+0

響應對象是什麼樣的? –

+0

[如何通過使用jQuery讀取多級Json數據](http://stackoverflow.com/questions/456887/how-to-read-multi-level-json-data-by-using-jquery ) – davethecoder

回答

0

根據您的響應對象...

如果它是一個數組,你正在返回:

function successFunction(data) { 
    for (var i = 0; i < data.length; i++) { 
     $('#table_campaigns').dataTable().fnAddData(data[i]) 
    }  
} 

你的Ajax調用:

$.ajax({ 
    type: 'GET', 
    url: 'http://localhost:52768/Service1/Statistic_1', 
    contentType: 'application/json; charset=utf-8', 
    dataType: 'json', 
    success: successFunction, 
    error: function (e) { 
    alert("error loading statistic 1"); 
    } 
    }) 
} 
+0

我不明白,因爲我不認爲這是我回來的數組。這是一個具有其他對象數組的對象。我把代碼放在答案中。 – Jayce

+0

我試過這個:response = msg.Items。但是迴應爲空,爲什麼?但是,在我的WCFTestClient.exe中,Statistic_1方法運行良好。 – Jayce