I am using this function to populate my table in visual studio 2010. but success function returns null. in my web service i am using
Context.Response.Write(js.Serialize(listMsg));
// THIS IS MY JAVA SCRIPT CODE
function getAllMessages() {
$.ajax({
url: "TestService.asmx/GetAllMessages",
dataType: "json",
method: "GET",
contentType: "application/json",
success: function (data) {
var messageTable = $("#messages tbody");
$(data).each(function (index, msg) {
var apnString = "<tr><td>" + msg.ID + "</td><td>" + msg.Email + "</td><td>" + msg.Message + "</td><td>" + msg.TimeStamp + "</td></tr>";
messageTable.append(apnString);
});
},
error: function (err) {
console.log(err);
}
});
}
here is my webMethod code. The webservice is returning json data.
[System.Web.Script.Services.ScriptService]
public class TestService : System.Web.Services.WebService
{
SQLHelper clSQLHelper = new SQLHelper();
[WebMethod]
public void GetAllMessages()
{
List<Messages> listMsg = new List<Messages>();
DataTable dtMsg = clSQLHelper.PGSQLExecuteReader("get_all_messages", new List<NpgsqlParameter>(), "Messages");
if (dtMsg != null && dtMsg.Rows.Count > 0)
{
foreach (DataRow dr in dtMsg.Rows)
{
Messages Msg = new Messages();
Msg.ID = Convert.ToInt32(dr["auto_id"]);
Msg.Email = dr["email_id"].ToString();
Msg.Message = dr["message"].ToString();
Msg.TimeStamp = Convert.ToDateTime(dr["created_on"], new CultureInfo("en-IN"));
listMsg.Add(Msg);
}
JavaScriptSerializer js = new JavaScriptSerializer();
Context.Response.Write(js.Serialize(listMsg));
}
}
}