【问题标题】:Ajax Post always returns an errorAjax Post 总是返回错误
【发布时间】:2014-11-03 14:31:56
【问题描述】:

您好,我正在尝试调用 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;
}

【问题讨论】:

  • 检查浏览器开发工具的网络选项卡以查看响应的样子。
  • @JasonP 响应始终为空,它永远不会到达我的 C# 函数,只是抛出上面提到的错误。
  • GetReports() 应该是 static 并具有 [WebMethod] 属性。
  • @JasonP 我已将 GetReports 设为 [WebMethod] 和静态,但我仍然有同样的错误。
  • 请求是什么样的?响应码是什么?

标签: javascript c# jquery ajax json


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-25
    相关资源
    最近更新 更多