Ajax Post总是返回错误

时间:2014-11-03 14:31:57

标签: javascript c# jquery ajax json

您好我正在尝试调用C#方法返回json,但一直收到错误。

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

我得到的错误读作:

  

意外的令牌<

以前我有 contentType:'application / 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;
}

1 个答案:

答案 0 :(得分:0)

确保在页面上禁用跟踪。如果启用了页面跟踪,有时ajax调用不起作用。