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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콘텐츠 SaaS | JSON 스키마 양식 빌더Bloomreach Content를 위한 JSON Form Builder 맞춤형 통합을 개발합니다. 최근 Bloomreach Content SaaS는 내장 앱 프레임워크를 사용하여 혁신적인 콘텐츠 유형 필드를 구축할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.