2014-11-03 113 views
0

嗨,我想調用一個C#方法來返回一個JSON,但不斷收到錯誤。Ajax Post總是返回一個錯誤

$.ajax({ 
    type: 'POST', 
    url: 'ReportList.aspx/GetReports', 
    dataType: 'json', 
    success: function (response) { 
     dataset = response.d; 
    }, 
    error: function (response, success, error) { 
     alert("Error: " + error); 
    } 
}); 

我得到的錯誤讀作:

意外標記<

以前我有的contentType:「應用/ JSON的; charset = utf-8',添加但返回了內部服務器錯誤。

我想調用json,以便我可以填充javascript.datatable。

C#功能:

public string GetReports() 
{ 
    System.Data.DataSet d; 
    d = (System.Data.DataSet)Session["dsHistory"]; 

    System.Data.DataSet DsNew = new System.Data.DataSet("cdreports"); 

    System.Data.DataTable table1 = new System.Data.DataTable("reports"); 
    table1.Columns.Add("id"); 
    table1.Columns.Add("name"); 
    table1.Columns.Add("regAndId"); 
    table1.Columns.Add("type"); 
    table1.Columns.Add("timeStamp"); 
    foreach (System.Data.DataRow row in d.Tables["company"].Rows) 
    { 
     table1.Rows.Add(row["rc_id"], row["companyname"], row["companyregnumber"], "Company", row["rc_timestamp"]); 
    } 
    foreach (System.Data.DataRow row in d.Tables["director"].Rows) 
    { 
     table1.Rows.Add(row["rd_id"], row["firstname"] + " " + row["surname"], row["idnumber"], "Director", row["rd_timestamp"]); 
    } 
    DsNew.Tables.Add(table1); 

    string json = JsonConvert.SerializeObject(DsNew, new DataSetConverter()); 

    return json; 
} 
+0

檢查瀏覽器開發工具的網絡選項卡以查看響應的樣子。 – 2014-11-03 14:34:32

+0

@JasonP響應總是爲空,它永遠達不到我的C#函數,只是拋出上面提到的錯誤。 – Pomster 2014-11-03 14:35:45

+0

'GetReports()'應該是'static'並且具有'[WebMethod]'屬性。 – 2014-11-03 14:37:19

回答

0

確保軌跡在頁面上禁用。有時如果啓用頁面跟蹤,則ajax調用不起作用。