这就是我所做的
$.ajax({
type: "POST", url: "Data.aspx/CheckInsertRecord",
data: "{EventType:'" + eventtype + "',BeginDate:'" + begindate + "'," +
"EndDate:'" + enddate+"' }",
contentType: "application/json; charset=utf-8", dataType: "json",
success: function (msg) {
var data = $.parseJSON(msg.d);
alert("A record of this event already exists in the database.
\n" + msg.d+".");
}});
所以后面的代码会发生什么:
public static string CheckInsertRecord(String EventType, String BeginDate, String EndDate)
{
NCDCPoint ncdc = new NCDCPoint();
CEOSurveyDataContext CDC = new CEOSurveyDataContext();
int et = Convert.ToInt32(EventType);
CultureInfo provider = CultureInfo.InvariantCulture;
DateTime b = Convert.ToDateTime(BeginDate);
DateTime e = Convert.ToDateTime(EndDate);
DetailsView a = new DetailsView();
var query = (from n in CDC.NCDCPoints
where n.EVENT_TYPE_ID == et && n.BeginDate == b && n.EndDate == e
select new {
n.EVENT_TYPE_ID,
BeginDate = n.BeginDate.ToString("yyyy-MM-dd",provider),
EndDate = n.EndDate.ToString(),
n.BeginLAT,
BeginLONG = n.BeginLONG,
n.EndLAT,
n.EndLONG});
if (query.Any())
{
return new JavaScriptSerializer().Serialize(query.ToList());
}
else
{
return "No duplicate";
}
}
代码可能用处不大。但是,JOSN字符串通常会显示出来。我试图使用详细信息视图,但没有成功。那么,请你们告诉我这样的方式,这样我就可以打印出一个好的格式。这就是我的JSON字符串现在显示的方式:
{"EVENT_TYPE_ID":1,"BeginDate":"2011-06-03","EndDate":"2011-06-11",
"BeginLAT":null,"BeginLONG":null,"EndLAT":null,"EndLONG":null}
答案 0 :(得分:2)
如果这仅仅是为了您的调试需求,那么我建议使用Firebug for Firefox。它将向您显示所有AJAX请求和服务器响应。如果响应格式正确JSON,它将提供一个很好的可折叠JSON视图。
答案 1 :(得分:0)
如果我了解您的要求,您希望显示返回的JSON。
您是否可以使用$ .parseJSON设置的数据变量?
那将为您提供一个包含JSON值的对象。
e.g。
var data = $.parseJSON(msg.d);
会给你类似的东西
data.EVENT_TYPE_ID
data.BeginDate
//etc
所以你可以用它来建立一个最适合你的格式的显示字符串。
答案 2 :(得分:0)
虽然我不清楚这个问题,但看起来你试图从jquery调用C#代码并且你成功了。
要在代码中获取JSON对象,只需尝试:
<html>
function test (data)
{
var a = $.parseJSON(data);
alert(a.EVENT_TYPE_ID);
}
function load()
{
test('{"EVENT_TYPE_ID":1,"BeginDate":"2011-06-03","EndDate":"2011-06-11","BeginLAT":null,"BeginLONG":null,"EndLAT":null,"EndLONG":null}');
}
</script>
</head>
<body onload="load()">
</body>
</html>
它对我有用。
答案 3 :(得分:0)
如果要在处理后显示。看看http://james.newtonking.com/pages/json-net.aspx
您可以将其反序列化为对象并将其打印得很好。