반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- sqld
- java
- 스프링 부트
- jdbc
- mybatis
- assertThrows
- 스프링 프레임워크
- spring
- Javascript
- DI
- 스프링 부트 기본
- springboot
- 스프링 컨테이너
- DIP
- 스프링 빈
- SQL
- resultMap
- kafka
- thymeleaf
- 싱글톤
- Effective Java
- db
- 필드 주입
- 스프링 부트 입문
- assertThat
- 생성자 주입
- 스프링부트
- 스프링
- JPA
- @Configuration
Archives
- Today
- Total
선 조치 후 분석
[JavaScript] serialize vs FormData 차이점 본문
728x90
반응형
SMALL
JavaScript를 통해서 Server에 데이터를 전송할 때, 아래의 2가지를 모두 사용했지만 차이점을 잘 모르고 사용했었다. 그래서 2가지의 차이점을 정리해 보았다.
serialize
- String 데이터만 Get & Post를 사용하여 전송
- File을 form을 통해서 전송할 수 없음
- 오래된 브라우저에 대해서 작동하지 않음 (e.g : IE < 10)
<form id="myForm" name="myForm">
<div>
<label>Enter name:</label>
<input type="text" id="username" name="username">
</div>
<div>
<label>Password:</label>
<input type="text" id="password" name="password">
</div>
<input type="button" id="button">
</form>
$(function () {
$("#button").click(){
var dataString = $("#myForm").serialize();
$.ajax({
type: "POST",
url: "upload.php",
data: dataString,
success: function (data) {
alert("Success!");
$("#myForm")[0].reset();
}
});
});
});
new FormData
- File을 form을 통해서 전송할 수 있음
- form 태그 안에 있는 input 태그들을 key/value로 구성
- appen()를 통해서 새로운 key/value data를 만듦
(e.g : formData.append('item', 'hi') // <input name="item" value="hi">와 동일
<form id="myForm" name="myForm">
<div>
<label>Enter name:</label>
<input type="text" id="username" name="username">
</div>
<div>
<label>Password:</label>
<input type="text" id="password" name="password">
</div>
<div>
<label>Upload file:</label>
<input type="file" id="userfile" name="userfile">
</div>
<input type="button" id="button">
</form>
$(function () {
$("#button").click(){
var formData = new FormData("#myForm");
$.ajax({
type: "POST",
url: "upload.php",
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
success: function (data) {
alert("Success!");
$("#myForm")[0].reset();
}
});
});
});
2개의 메서드는 form 데이터를 server로 전송할 때 사용된다.
serialize는 file은 전송할 수 없고 String 데이터를 전송
FormData는 key/value로 데이터를 전송하고 file도 전송 가능
728x90
반응형
LIST
'Language > JavaScript' 카테고리의 다른 글
[JavaScript] $(달러) 객체?, jQuery(제이쿼리) 객체? (0) | 2024.01.23 |
---|---|
[JavaScript] 부분 리로드(새로고침), 원하는 영역만 새로고침 시키기 (0) | 2022.10.07 |
[JavaScript] 검색 완료 시, 모바일의 키 패드 내리기 (0) | 2022.10.07 |
[Javascript] FileReader로 File Data를 읽어오는 방법 (0) | 2022.09.29 |
[Javascript] window.open vs location.href 차이 (0) | 2022.09.27 |