SpringMVC 와 jquery 를 기반 으로 한 ajax 제출 폼 의 몇 가지 상황 에 대한 상세 한 설명
3027 단어 springMVC
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
잠시 이렇게 많아
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Spring MVC] [1] 5. 스프링 MVC - 구조 이해핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회 핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회 핸들러 어댑터 실행: 핸들러 어댑터를 실행 핸들러 매핑 org.sp...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.