아약스, JSON

아약스 작업

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를 (); 
}

 

 

 

 

 

 

추천

출처www.cnblogs.com/taozizainali/p/11105506.html