2017-06-29 96 views
1

我有我的JSON與Newtonsoft.Json dll序列化,但不知何故我無法正確填充它。使用來自C#數據集的JSON填充表格

該json變量data有序列化的結果,並在data.d我有objet我落後了。它看起來像這樣

{ 
    "Table": [ 
     { 
     "key1": "value1", 
     "key2": "value2"  
     } //etc, more objects 
    ] 
} 

等阿賈克斯成功我這樣做:

success: function (data) { 
      console.log(data.d); //result printed above         
      $('#myTable').bootstrapTable({ 
       data: data.d.Table 
      });    
     }, 

而且它不工作,d.Table表示不確定。但是,如果在Chrome的控制檯上,我創建了一個變量data,其中來自data.d的信息然後是$('#myTable').bootstrapTable({data: data.Table});它的工作原理。

除了發生什麼事情的奇怪之外,我想我可以擺脫C#中的Table對象,並將實際數據objet與其數組發送回ajax,但我不知道如何在C#中如何做到這一點。

我錯過了什麼?

回答

1

變量d.Table未引用有效的對象,這就是爲什麼它以未定義的方式返回的原因。它應該是data.d.Table

success: function (data) { 
      console.log(data.d); //result printed above         
      $('#myTable').bootstrapTable({ 
       data: data.d.Table 
      });    
     }, 

或者,您可以聲明一個變量來保存表數據,即var tableData = data.d.Table;。然後在填充表格時引用該變量。

+0

我會更新我的問題,忘記提及'data:data.d.Table'也會引發undefined。奇怪的。 –

+0

@DanielSh。 console.log(data.d.Table)顯示什麼? – RobB

+0

'console.log(data.d)'拋出以'Table'和'console.log(data.d.Table)開頭的objet'throws undefined。 –

相關問題