아약스 작업
XMLHttpRequest 객체를 생성
XT = VAR의 널 (null) ; // 단계 AJAX 엔진 오브젝트 획득 IF (window.XMLHttpRequest는) { // 생성 객체가 브라우저 버전 아약스 XT = 새로운 새 는 XMLHttpRequest를 (); // 형태의 새로운 버전을 생성 } 밖의 { XT = 새로운 새로운 ActiveXObject ( "에서는 Microsoft.XMLHTTP"); // 버전을 만들 수있는 옛날 방식 }
상태는 기능을 트리거하는 바인딩
// 듣고 단계 바인드 xt.onreadystatechange는 = 전화; // 여기에 콜백 함수를 강제로
공개 방법을 사용하여 서버에 연결합니다
// 단계 결합 어드레스 xt.open (이하 "GET", "/ AjaxTest / AjaxServlet 이름 = 콜린?" TRUE로 ); // 첫 번째 매개 인자에 대한 요청을 말한다는 제 1 경로를 의미 세 개의 매개 변수를 의미하지 허위 사실 동기 비동기 (이하 "POST", "/ AjaxTest / AjaxServlet"xt.open true로 ), POST 요청 방법 xt.setRequestHeader ( "내용 - 유형", "파일을 application / x-www-form "-urlencoded ) 도 요청 헤더에 추가해야 URL 텍스트를 인코딩 서버에 제출 인코딩 클라이언트를 나타내는 의미를
서버에 데이터를 보내기
요청 모드 얻을
xt.send를 ();
POST 요청 방법
xt.send ( "사용자 이름 ="+ 이름);
데이터 콜백 함수 반환 처리
// 콜백 함수를 생성 전과 상태를 확인하지 않는 함수 호출 () { 변수 텍스트 = xt.responseText, 경고 (텍스트) } 에 기초하여 상태 판정 // HTTP 서버 응답 상태 코드 [일반 200_ [400 옹스트롬 예컨대 요청 오류 : 요청 구문] 403_ 액세스 없음; 404_ 액세스 자원이 존재하지 않는다 500_ 내부 서버 오류} // 속성 readyState의 응답 상태 코드 XMLHttpRequest 객체 5 5 0_XMLHttpRequest 초기화를 완료하지; 1_XMLHttpRequest 객체는 전송 요청을 시작한다; 2_XMLHttpRequest 오브젝트 요청 송신 완료; 3_XMLHttpRequest 객체는 응답을 판독하기 시작한다; 4_XMLHttpRequest 객체는 응답에서 종료 판독 의 상태를 판단 후 {) 함수 호출 ( IF (xt.readyState == == 200 xt.status가 && 4. ) { 변수 텍스트 = xt.responseText을 ; 경고 (텍스트); } }
샘플 코드
<input 타입 = "버튼"값 = "GET 의 onclick ="테스트 () "요청"> </ 버튼> <script> var에 XT = 널 ; VAR A를 = 0 ; {) 기능 테스트 ( IF (window.XMLHttpRequest) { XT = 새로운 새 는 XMLHttpRequest (); } 다른 { XT = 새로운 새 ActiveXObject ( "Microsoft.XMHTTP ' ); } //// 특성 XMLHttpRequest 객체 5의 응답 상태 코드 5 readyState가 // [0_XMLHttpRequest 완료되지 초기화; // 1_XMLHttpRequest 개체 요청을 전송 시작; //2_XMLHttpRequest 오브젝트 요청 완료 보낼; // 3_XMLHttpRequest 객체는 응답을 판독하기 시작한다; // 4_XMLHttpRequest 개체에서 종료 응답하여 판독 // 메소드 onreadystatechange의 트리거의 상태 변경 xt.onreadystatechange를 = 전화, xt.open ( "/ 업로드"GET "? = ZYM 이름 " 에 해당하는 ) xt.send () } 함수 호출 () { IF (xt.readyState == == 200 xt.status한다. 4 ) { // 값 취할 결정되어야이 조건에 추가 에서 responseText = VAR을 XT한다. 에서 responseText; // CONSOLE.LOG (에서 responseText) 경보 (+ 에서 responseText) } } </ script>
JSON
가져 오기 항아리 패키지
공유지 - beanutils.jar 자바 반사 패킷 제공
평민 - collections.jar 또한 패키지 확장 컬렉션
평민 - lang.jar 강화 키트
공유지-logging.jar 로그 구현의 패키지 제공
ezmorph-1.0.4.jar
JSON-lib 디렉토리 -2.2.2-jdk15.jar
문자열 JSON으로 객체 Pserson
공공 정적 문자열 objectToJson (사람 P) { 문자열 str을 = 널 (null) ; 된 JSONObject 지성 = JSONObject.fromObject (p); STR = jo.toString (); // 转成字符串 반환 STR; }
객체 JSON으로 문자열 변환
공공 정적 인격 jsonToPerson (문자열 STR) { // 문자열 JSON에 첫 번째 문자열 된 JSONObject 개체 = JSONObject.fromObject (STR); // ; person 객체 JSON 문자열 toBean ()에 차례로 인격 P = (인격)이 된 JSONObject .toBean (객체, 사람. 클래스 ); 반환 P; }
배열의 컬렉션은 JSON로 변환
공공 정적 문자열 listToJson (목록 <사람> 리) { 문자열 str을 = 널 (null) ; JSONArray JA = JSONArray.fromObject (리튬); STR = ja.toString (); 반환 STR을; }
세트 JSON으로 배열 변환
공공 정적 목록 <인격> jsonToList (문자열 STR) { 목록 <인격> 목록 = 새로운 새로운 ArrayList를 <인격> (); // 객체의 새로운 세트를 얻을 수 JSONArray JA = JSONArray.fromObject (STR); // 현재 문자열 JSONArray로 변환 된 JSONObject 조 = null가 ; 위해 ( int로 I = 0; 나는 <ja.size (); 내가 ++) { // JSONArray 반복 조 = ja.getJSONObject (Ⅰ); // 의 모든 JSONArray 된 JSONObject 얻을 목록을. 추가 ((인격) JSONObject.toBean (조, 사람. 클래스 )) // 컬렉션에 개체로 각 번들 된 JSONObject UN 변환에 } 반환 목록; }
어레이로 배열 JSON 변환
공용 정적 인 [] jsonToArray (문자열 STR) { JSONArray JA = JSONArray.fromObject (STR); 인 [] P = (사람 []) JSONArray.toArray (JA, 이용시. 클래스 ); 반환 P는; }
지도를 변환하는 문자열 JSON을 설정합니다
공공 정적 문자열 mapToJson (지도 <정수, 사람> m) { 반환 JSONArray.fromObject (m)로 .toString를 (); }