webmethodを呼び出してjsonオブジェクトを取得し、jqueryを使用してaspxファイルのデータを表示しようとしています。しかし、何かがおかしいので、機能していません。以下のコードで説明します
これがwebmethodです
Database db = DatabaseFactory.CreateDatabase("Connection String2");
DbCommand dbCommand;
dbCommand = db.GetStoredProcCommand("MedBul_Select_Selected_Professional");
db.AddInParameter(dbCommand, "id", DbType.Int16, Convert.ToInt16(id));
IDataReader dr = db.ExecuteReader(dbCommand);
if(dr.Read())
{
int p_id = Convert.ToInt16(dr["ProfessionalID"].ToString());
string firstname = dr["ProfessionalName"].ToString();
string lastname = dr["ProfessionalSurname"].ToString();
int prefix = Convert.ToInt16(dr["PrefixID"].ToString());
int gender = Convert.ToInt16(dr["Gender"].ToString());
string birthdate = dr["BirthDate"].ToString();
string mobilephone = dr["MobilePhone"].ToString();
string email = dr["Email"].ToString();
string diplomano = dr["DiplomaNo"].ToString();
return_str += "[{\"id\":\"" + p_id + "\",\"firstname\":\"" + firstname + "\",\"lastname\":\"" + lastname + "\",\"prefix\":\"" + prefix + "\",\"gender\":\"" + gender + "\",\"birthdate\":\"" + birthdate + "\",\"mobilephone\":\"" + mobilephone + "\",\"email\":\"" + email + "\",\"diplomano\":\"" + diplomano + "\"}]";
}
これがjqueryコードです。
$('#btn_second').click(function () {
//$('#txt_isim_4').val('test arif');
$.ajax({
type: "POST",
url: "Registration.aspx/get_selected_professional",
data: "{'id':'2'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
$.each(data, function (index, value) {
alert(value);
alert(value.d);
alert(index);
alert(value.firstname);
});
}
});
});
何が返されるかをalert()しようとしていますが、何も表示されません。データベースからデータを取得して適切に解析できると確信しています。
私のコードの何が問題になっていますか?jsonオブジェクトを表示するにはどうすればよいですか?