JSon이 콜백 함수를 실행할 수 없는 이유

1120 단어 json
통과
$.getJSON(url,function (data) {
} 함수가 JSON 서비스를 호출하는데 리셋 함수가 제대로 실행되지 못한 주요 원인은 서버가 반환한 JSON 형식이 정확하지 않기 때문이다.
구체적인 표현은 다음과 같다.
1.Response.ContenType이 제대로 설정되지 않았습니다.
context.Response.ContentType = "application/json"; (c# 환경)
2. JSON 형식 조립 오류.
두 번째 점은 실수하기 쉽다. 서버 JSON 문자열은 기본적으로 데이터베이스에서 읽은 필드를 조합하기 때문에 필드의 형식을 제어하지 않으면 마지막에 JSON 문자열이 아닌 것을 되돌릴 수 있다.
예를 들면 다음과 같습니다.
            foreach(DataRow dr in dt.Rows){
                content += string.Format("{{\"Id\":\"{0}\",\"Title\":\"{1}\",\"TitleShort\":\"{2}\",\"PubDate\":\"{3}\"}},", dr["id"].ToString(), dr["Title"].ToString().Replace("\"", ""), dr["TitleShort"].ToString().Replace("\"", ""), dr["PubDate"].ToString());
            }

위에서 조립한 JSON 문자열의 코드에 대해 가장 중요한 것은 '에 대한 제어이다. 만약에 읽은 필드에' 이 있는데 없어지지 않으면 JSON 형식을 파괴하고 클라이언트는 JSON 반환보라고 생각하지 않아 리셋 함수를 자극하지 않는다.
JSON은 사용하기 쉽지만 문법 양식에 대한 통제가 지나치게 엄격한 것이 폐단 중의 하나이다.
OVER

좋은 웹페이지 즐겨찾기