私はASP.NET/C#の初心者です。Webサービスを使用してデータベースからJSONオブジェクトを返そうとしています。循環参照を作成しているというエラーがFirebugで発生します。スタックトレースはJSON形式です。ブラウザで直接Webサービスを表示すると、奇妙な理由で有効なXMLが返されます。これが私のWebサービスです。
[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形式のDataSetです。私はこれを正しく行っていますか?これが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>