我是 ASP.NET/C# 的菜鸟。我正在尝试使用 Web 服务从数据库中返回 JSON 对象。我在创建循环引用的 Firebug 中遇到错误。堆栈跟踪采用 JSON 格式。当我直接在浏览器中查看 Web 服务时,由于某种奇怪的原因,它返回了有效的 XML。这是我的网络服务。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public DataSet Posts() {
string connString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["XXX"].ConnectionString;
SqlConnection conn = new SqlConnection(connString);
string sql = "SELECT * FROM Posts";
SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
sda.Fill(ds);
return ds;
}
我是 C# 新手,所以我不知道这是否正确编写。我想要的是 JSON 格式的数据集。我这样做正确吗?这是调用 Web 服务的 jQuery。
<script>
$(function () {
$.ajax({
type: "POST",
url: "WebServices/MessageBoard.asmx/Posts",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(data) { console.log(data) },
failure: function (msg) {
//alert(msg);
}
});
});
</script>