SpringMVC 와 jquery 를 기반 으로 한 ajax 제출 폼 의 몇 가지 상황 에 대한 상세 한 설명

3027 단어 springMVC
일상적인 업무 에서 저 희 는 ajax 가 페이지 데 이 터 를 제출 하 는 것 을 사용 합 니 다. form 의 action 으로 전체 폼 을 제출 하지 않 습 니 다.이제 제 가 일상 업무 에서 겪 는 문제 들 을 공유 해 보 겠 습 니 다.
1. $. post, $. get, $. ajax 세 가지 차이 점:
     말 그대로 $. post 와 $. get 은 각각 post 방식 과 get 방식 으로 서버 에 요청 을 보 냅 니 다.이들 의 차이 점 은 get 이 요청 한 매개 변 수 는 url 에서 직접 url? name 1 = value 1 & name 2 = value 2 형식 으로 연결 되 어 있 으 며, post 가 요청 한 매개 변 수 는 본문 을 요청 하 는 형식 으로 서버 로 전 송 됩 니 다. 이것 은 자바 웹 지식 을 배 운 사람 은 모두 알 고 있 을 것 입 니 다. 여기 서도 군말 하지 않 습 니 다.
     여기 서 주로 말 하고 싶 은 것 은 같은 비동기 전송 요청 에 관 한 것 입 니 다. $..post 와 $. get 은 기본적으로 비동기 형식 으로 서버 에 요청 을 보 냅 니 다. 그러나 우리 의 요구 사항 중 많은 경우 서버 의 반환 값 을 받 아 다음 작업 을 판단 해 야 합 니 다. 이 럴 때 $. ajax 를 사용 해 야 합 니 다.
var flag=false;

$.ajax({

             type: "get",

             url: "xxxxxx",

             async:false,

             data: {username:name, password:pwd},

             dataType: "json",

             success: function(data){

                                   if(data>0){

                                        flag=true;

                                   }

                      }

         });


상기 코드 와 같이 type 은 요청 방식 을 설정 합 니 다. async 는 동기 화 또는 비동기 로 설정 되 어 있 으 며, 기본 값 은 true 비동기 로 설정 되 어 있 으 며, 이 때 는 false 로 설정 되 어 있 습 니 다.일반적인 $. post 와 $. get 을 사용 하면 flag 의 값 은 반환 값 data 의 값 에 따라 바 뀌 지 않 습 니 다.
 파일 업로드
ajax 업로드 파일 은 항상 골 치 아 픈 문제 입 니 다. 여기 서 저 는 jquery 의 확장 프레임 워 크 를 사용 합 니 다. jquery. form. js 입 니 다. 이 가방 은 $ajax Submit 방법 을 제공 하여 springmvc 에서 파일 업로드 문 제 를 잘 해결 하 였 습 니 다. 물론 form 폼 의 method 는 post 이 고 type 은 multipart / form - data 입 니 다. 예제 코드 는 다음 과 같 습 니 다.
$(#id).ajaxSubmit({

            type: 'post',

            url: 'xxxxxx', 

            data: {

                uername: name,

                content: content

            },

            success: function(data) {

            //    

            }

        });

이 때 폼 데이터 와 파일 데 이 터 는 request 에 저장 되 어 서버 에 전 송 됩 니 다.배경 가 져 오기 코드 는 다음 과 같 습 니 다:
MutlipartHttpServletRequest  multipart =(MutlipartHttpServletRequest )request;

// request         request

Map<String,String[]> dataMap = request.getParameterMap();

//        <name,value>   

Map<String,Multipart> fileMap = request.getFileMap();

//          ,       ,              dataMap    fieMap 

잠시 이렇게 많아

좋은 웹페이지 즐겨찾기