jquery에서 제공하는 ajax 호출 메소드의 단순화된 버전은 일반적으로 다음과 같습니다.
개발 중에 json 형식으로 반환값을 받아야 하는 경우 위의 방법은 안되는 것 같습니다. 텍스트의 텍스트 줄을 허용하는 것 같습니다. 따라서 jQuery의 기본 Ajax 구현 방법이 채택됩니다.
이 방법에도 매개변수가 많이 있습니다. 자세한 내용은 도움말 문서를 참조하세요. 나의 평소 사용법
코드는 다음과 같습니다.
JsonConvert.SerializeObject 메서드를 사용하여 변환할 수 있습니다. json 형식을 반환한 후 jquery는 XXX.xxx를 사용하여 값을 얻을 수 있습니다.
JsonConvert는 날짜/시간 형식을 처리할 때 1198908717056과 유사한 절대값을 반환하므로 날짜/시간을 처리할 때 일부 변환이 필요합니다. 구체적인 문장은 다음과 같습니다.
문자열 출력 = JsonConvert.SerializeObject(m, Newtonsoft.Json.Formatting.Indented, timeConverter);
그런데, 자바스크립트는 json 형식 데이터를 처리하는 자연스러운 능력을 갖고 있으며 json 형식 데이터와 매우 호환됩니다.
예:
코드 복사
코드는 다음과 같습니다.
function pppp( ) {
var person = { "name": "jack", "age": 24, "sex": true }
ashx의 전체 코드는 다음과 같습니다.
namespace nnn
{
///
/// PostIt 的摘要说明
///
public class PostIt : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "application/json";
try
{
string msgContent = context.Request["msgContent"] ?? "";
ModelContent m = new ModelContent()
{
author = "",
categoryid = -1,
title = "",
content = msgContent,
datetime = DateTime.Now,
key = "",
createdate = DateTime.Now,
lastmodifydate = DateTime.Now,
ip = context.Request.UserHostAddress
};
//BLLContent bll = new BLLContent();
//bll.Add(m);
IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
//这里使用自定义日期格式,如果不使用的话,默认是ISO8601格式
timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd' 'HH':'mm':'ss";
string output = JsonConvert.SerializeObject(m, Newtonsoft.Json.Formatting.Indented, timeConverter);
context.Response.Write(output);
}
catch (Exception ex)
{
context.Response.Write(ex.Message);
}
}
public bool IsReusable
{
get
{
return false;
}
}
}
}