2017-02-15 139 views
0

我一直在試圖發佈數據到jquery數據表,但我不能。我有一個在服務器端的Web方法,它返回數據作爲對象數組。我需要使用ajax文章獲取數據。但我不能。所以我需要一些幫助。jquery數據表不能發佈數據與Ajax(asp.Net)

這裏是我的C#Web方法:

[WebMethod] 
    public static object[] Questions() 
    { 
     table = new DataTable(); 
     List<object> questionList = new List<object>(); 
     table = RunSelectCommand("SELECT QUESTION_ID,QUESTION_TEXT,QUESTION_GROUP FROM QUESTIONS WHERE QUESTION_ACTIVE='Y'"); 
     for(int i=0 ; i<table.Rows.Count ; i++) 
     { 
      questionList.Add(new 
      { 
       q_id = table.Rows[i]["QUESTION_ID"].ToString(), 
       q_text = table.Rows[i]["QUESTION_TEXT"].ToString(), 
       q_group = table.Rows[i]["QUESTION_GROUP"].ToString() 
      }); 
     } 

     return questionList.ToArray(); 
    } 

和jQuery:

$(document).ready(function() { 
     $('#questTable').DataTable({ 
      processing: true, 
      serverSide:true, 
      ajax: { 
       url: 'Question.aspx/Questions', 
       type:'POST' 
      }, 
      columns: [ 
       { data: 'q_id' }, 
       { data: 'q_text' }, 
       { data: 'q_group' } 
      ] 
     }); 
    }); 

我有破發點debuged它,我注意到,Web方法不起作用。這裏是我得到的錯誤:DataTables警告:表id = questTable - 無效的JSON響應。有關此錯誤的更多信息,請參閱http://datatables.net/tn/1

在此先感謝。

+0

看看[服務器端文檔](https://datatables.net/manual/server-side),特別是'Returned data'部分。 – markpsmith

+0

我解決了這個問題,謝謝:) –

回答

0

問題解決。這是關於我的web方法返回對象數組和數據表不接受它。這就是爲什麼我得到了無效的JSON響應。錯誤。所以我改變了我的js結構。我像往常一樣發佈數據,然後我使用數據表數據財產的職位。它的工作原理:

function GetData() 
    { 
     $.ajax({ 
      type: 'POST', 
      dataType: 'json', 
      contentType: 'application/json', 
      url: 'Question.aspx/Questions', 
      data: '{}', 
      success: function (result) { 
       $('#questTable').DataTable({ 
        data:result.d, 
        columns: [ 
         { data: 'q_id' }, 
         { data: 'q_text' }, 
         { data: 'q_group' } 
        ] 
       });} 
    }