0
私はC#メソッドを呼び出すJquery ajax関数を持っています。返されるはずの文字列がJson形式であっても、この関数は常にnullを返します。 Jquery関数で戻り値を取得するにはどうすればよいですか?Jquery Ajax関数は常にnullを返します
function GetScores() {
$.ajax({
type: 'POST',
url: 'Default.aspx/GetTopScores',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (data, textStatus, jqXHR) {
alert(data.d); // Always NULL
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('ERROR!!');
}
});
}
public static string GetTopScores()
{
string result = string.Empty;
DataTable dt = new DataTable();
try
{
using (SqlConnection conn = new SqlConnection())
{
conn.ConnectionString = "Data Source=*****;Initial Catalog=beachlings;Persist Security Info=True;User ID=******;Password=******;MultipleActiveResultSets=True;Application Name=EntityFramework";
conn.Open();
string query = "Select TOP 20 PlayerName, SiteName, Score from HighScores ORDER BY SCORE DESC";
SqlCommand cmd = new SqlCommand(query, conn);
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
string s = JsonConvert.SerializeObject(rows);
return s;
}
}
catch (Exception ex)
{
return null;
}
}
'console.log(data);'を試したことがありますか? –
'data'はシリアル化された' List> 'です。 'd'プロパティはありません。 'console.log()'返されたオブジェクトは、それが持っているプロパティを確認します –
あなたのコメントをありがとう。私はConsole.log(データ)を試して、dはオブジェクトのプロパティですが、dはnullです。 – Sugan88