Ajax 향상 편 (6) 서버 엔 드 스 크 립 트 와 프로그램 에서 JSON 으로 응답 하고 답장 합 니 다.
String myObjectInJSON = myObject.toJSONString();
이제 결과 텍스트 를 서버 에 보 낼 수 있 습 니 다.
* JSON 을 서버 에 보 내기 --- GET 를 통 해 JSON 을 이름 / 값 으로 보 내기
JSON 데 이 터 를 서버 에 보 내 는 가장 쉬 운 방법 은 텍스트 로 변환 한 다음 이름 / 값 이 맞 는 값 으로 보 내 는 것 이다.JSON 형식의 데 이 터 는 상당히 긴 대상 입 니 다. 목록 1 과 같이 보일 수 있 습 니 다. 목록 1. JSON 형식의 간단 한 JavaScript 대상 입 니 다.
var people = { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin",
"email": "[email protected]" }, { "firstName": "Jason", "lastName":"Hunter",
"email": "[email protected]" }, { "firstName": "Elliotte", "lastName":"Harold",
"email": "[email protected]" } ], "authors": [ { "firstName": "Isaac",
"lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad",
"lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank",
"lastName": "Peretti", "genre": "christian fiction" } ], "musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
{ "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ] }
서버 에 이름 / 값 으로 보 내 려 면 다음 과 같 아야 합 니 다.
var url = "organizePeople.aspx?people=" + people.toJSONString();
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = updatePage;
xmlHttp.send(null);
질문 이 있 습 니 다. JSON 데이터 에 빈 칸 과 여러 문자 가 있 습 니 다. 웹 브 라 우 저 는 계속 컴 파일 하려 고 합 니 다.이 문자 들 이 서버 에 (또는 서버 에 데 이 터 를 보 내 는 과정 에서) 혼란 을 일 으 키 지 않도록 하려 면 자바 script escape () 함수 에 다음 과 같이 추가 해 야 합 니 다.
var url = "organizePeople.aspx?people=" + escape(people.toJSONString());
request.open("GET", url, true);
request.onreadystatechange = updatePage;
request.send(null);
이 함 수 는 빈 칸, 사선, 브 라 우 저 에 영향 을 미 칠 수 있 는 모든 내용 을 처리 하고 웹 사용 가능 한 문자 로 변환 할 수 있 습 니 다. (예 를 들 어 빈 칸 은% 20 으로 변 환 됩 니 다. 브 라 우 저 는 빈 칸 으로 처리 하지 않 고 변경 하지 않 고 서버 에 직접 전달 합 니 다)이후 서버 는 전송 후의 본래 모습 으로 다시 변환 합 니 다.
이 방법 은 두 가지 단점 이 있 습 니 다. GET 를 사용 하여 큰 데 이 터 를 보 내 달라 고 요청 할 때 URL 문자열 의 길이 가 제한 되 어 있 습 니 다.이 제한 은 매우 광범 위 하지만 대상 의 JSON 문자열 은 생각 보다 길 이 를 나 타 낼 수 있 습 니 다. 특히 매우 복잡 한 대상 을 사용 할 때 더욱 그렇습니다.네트워크 를 넘 어 모든 데 이 터 를 텍스트 로 보 낼 때 데 이 터 를 보 내 는 데 직면 하 는 불안정 성 은 처리 능력 을 초과 합 니 다.즉, 이상 은 GET 가 요청 한 두 가지 제한 이지 JSON 데이터 와 관련 된 두 가지 가 아니다.사용자 이름과 성 이외 의 더 많은 내용 을 보 내 려 면 폼 에서 선택 할 때 주의 가 필요 할 수 있 습 니 다.기밀 이나 긴 내용 을 처리 하려 면 POST 요청 을 사용 할 수 있다.
- POST 를 이용 해 JSON 데이터 전송 요청
POST 를 사용 하여 JSON 데 이 터 를 서버 에 전송 하기 로 결 정 했 을 때 코드 를 대량으로 변경 할 필요 가 없습니다. 다음 과 같 습 니 다.
var url = "organizePeople.php?timeStamp=" + new Date().getTime(); request.open("POST", url, true); request.onreadystatechange = updatePage; request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); request.send(people.toJSONString());
GET 대신 POST 를 사용 하여 열 면 Content - Type 헤드 는 서버 가 어떤 데 이 터 를 얻 을 수 있 는 지 알 수 있 도록 설정 되 어 있 습 니 다.이러한 상황 에서 application / x - ww - form - urlencoded 는 서버 에 현재 보 내 는 텍스트 가 일반적인 HTML 폼 에서 얻 은 것 처럼 보 여 줍 니 다.또 다른 간단 한 힌트 는 URL 의 끝 에 시간 이 추가 되 었 다 는 것 이다.이 는 요청 이 처음 보 낸 후 캐 시 되 지 않 고 호출 될 때마다 다시 만 들 고 다시 보 내 는 것 을 확보 합 니 다.이 URL 은 시간 스탬프 에 따라 조금 다 를 수 있 습 니 다.이 기술 은 스 크 립 트 의 POST 를 확보 하 는 데 자주 사용 되 며, 매번 실제 적 으로 새로운 요청 이 생 성 되 며, 웹 서버 는 서버 에서 응답 하 는 캐 시 를 시도 하지 않 습 니 다.
* JSON 이 JSON 을 처리 하 는 두 가지 절 차 를 서버 에서 설명 합 니 다. 서버 엔 드 프로그램 을 작성 하 는 데 사용 되 는 언어 에 대해 해당 하 는 JSON 해상도 기 / 도구 상자 / 도움말 API 를 찾 습 니 다.JSON 해상도 기 / 도구 상자 / 도움말 기 API 를 사용 하여 클 라 이언 트 로부터 요청 데 이 터 를 얻 고 데 이 터 를 스 크 립 트 가 이해 할 수 있 는 것 으로 변환 합 니 다.
JSON 해상도 나 도구 상 자 를 찾 는 가장 좋 은 자원 은 JSON 사이트 입 니 다.여기 서 는 이 포맷 자체 의 모든 면 을 알 수 있 는 것 외 에 도 각종 링크 를 통 해 JSON 의 다양한 도구 와 해석 기 를 찾 을 수 있 으 며, ASP 부터 Erlang, Pike, Ruby 까지 다양 하 다.스 크 립 트 를 작성 하 는 데 사용 되 는 언어 에 맞 는 도구 상 자 를 다운로드 하면 됩 니 다.서버 쪽 스 크 립 트 와 프로그램 이 이 도구 상 자 를 사용 할 수 있 도록 상황 에 따라 선택, 확장 또는 설치 할 수 있 습 니 다 (서버 쪽 에서 C \ #, PHP 또는 Lisp 를 사용 하면 가 변성 이 더 큽 니 다).
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.