【发布时间】:2015-02-10 23:35:55
【问题描述】:
我正在尝试调用以下 C# 方法:
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static string getJSONdata()
{
string jsonString = "";
using (SqlConnection con = new SqlConnection(connectionString))
{
con.Open();
using (SqlCommand cmd = new SqlCommand("SELECT TOP 10 * FROM DRAW ORDER BY DrawID DESC;", con))
{
using (SqlDataReader reader = cmd.ExecuteReader())
{
List<Dot> _Dot = new List<Dot>();
while (reader.Read())
{
Dot dot = new Dot();
dot.x = (int.Parse(reader["xCoord"].ToString()));
dot.y = (int.Parse(reader["yCoord"].ToString()));
if (reader["DrawID"] != DBNull.Value)
dot.i = (int.Parse(reader["DrawID"].ToString()));
_Dot.Add(dot);
}
JavaScriptSerializer jss = new JavaScriptSerializer();
jsonString = jss.Serialize(_Dot);
}
}
}
System.Diagnostics.Debug.WriteLine(" JSON: " + jsonString);
return jsonString;
}
这是我的 JavaScript 代码:
$.ajax({
url: 'Default.aspx/getJSONdata',
data: '{ }',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (response) {
alert(response.d);
},
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.status);
alert(thrownError);
}
});
首先,我收到了 ajax 错误。不知道为什么不叫它。 其次,我仍然不确定我是否返回了我想要的正确 JSON 数据,无论格式是否正确。感谢您的帮助。
编辑。它正确返回一个 JSON 字符串。
注意:connectionString 在另一个函数中工作,所以不是这样。
【问题讨论】:
-
你返回了什么 HTTP 响应?
-
@zerkms 500 内部服务器错误
-
那么用调试器运行你的项目,看看什么失败了?
-
@zerkms 当我删除数据(我不需要它)和 contentType 时,我收到 200 错误。
-
特别是 SyntaxError Unexpected Token
标签: javascript c# sql ajax json