Jquery
$('#PostComment').click(function () {
var commentTitle = $('#commentTitle').val();
var commentClob = $('#commentClob').val();
var id = $('#topicId').val();
var buttoname = $('#PostComment').val();
var obj;
$.ajax({
type: "post",
url: "../../Handler/Topic.ashx",
data: "commentclob=" + commentClob + "&commenttitle=" +
commentTitle + "&topicId=" + id + "&Button=" + buttoname,
success: function (msg) {
try {
alert(msg);
obj = jQuery.parseJSON(msg);
alert("Correct" + obj.CommentClob);
}
catch (e) {
alert("Incorrect" + e.Description + e.ErrorNumber);
}
}
});
return false;
});
});
Topic.ashx -ProcessRequest method
CommentModel cm = daoobject.populateCommentModel(listcommentsbytopic);
var json= cm.CreateCommentJson();
context.Response.Write(json);
Function definition
public string CreateCommentJson()
{
// serialize the names to JSON
var jss = new JavaScriptSerializer();
var json = jss.Serialize(this);
return json;
}
I am getting output 2 alert boxes
first is
{ "UserId": "1", "ToipicId": "44f94c32-c415-4751-812a-03b775775698", "CommentId": "0f1014a0-08d9-48f7-9a0c-d9d6b3d841b2", "CommentClob": "ilikeit", "CommentTitle": "nice", "DescriptionClob": null, "DateCreated": "/Date(1333233498780)/", "Datemodified": "/Date(-62135596800000)/" }
and second is
Incorrect undefined undefined
Can anyone help.
Your returned json is malformed. You should not be escaping all of the
"as you are.Run your json response
msgthrough http://jsonlint.com and then run this one through it.Follow on:
In your comments, you state that you are getting the first alert printed out. If you are getting it printed out as you say, then that shows that the data is still in string format and NOT already parsed as json. If it were already parsed as json, you’d be getting an [Object object] message instead of the actual text.
That being said, check out this jsFiddle and this resulting
of a Firebug breakpoint.
This essentially shows that the .parseJSON() function will properly parse this new ‘json string’. From what you’ve given us, it tells me that you haven’t given us everything. You are doing something (possible typo?, more processing that isn’t getting posted?, something!) to that string (if in fact you are getting it as stated) before you parse it with JQuery.