【发布时间】: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