Spring - Ajax contentType과 form list 보내기에 필요한 / .stringify()/.serialize() /.serializeObject

Coding/JAVA 2020. 2. 7. 09:19

Ajax에 FormData를 보내는 방법은 여러가지있다.

프런트에서 form을 Object해서  Spring에서 get방식이면 @RequestParam으로 Object받거나

해당 키값으로 String [Key Name] 으로 매개변수를 받을수있다

Post 방슥인 @RequestBody로 해서 같은 방식으로 받는다...

 

다만 Ajax ContextType이 기본 방식은

 Content-Type: application/x-www-form-urlencoded; charset=UTF-8

으로 Ajax를 이용할때 JSON을 이용하는데 문제가 생긴다.

 Content-Type: application/application/json; charset=UTF-8 

으로 변경 해주고 JSON을 이용하거나 Object을 이용할때는 딱히 지정할필요없다. 그럼 기본형식으로간다.

 

JSON으로 보낼때 이용해야되는방법은 - 

데이터들을 

var dataArr= new Array();
d

선언 해주고 

 

var dataObj= new Object();

하나 더 선언 후  dataObj 에 Object을 넣어준다.

dataObj.decode_flag=$("#decode_flag_"+i).val();

이런식으로 dataObj.[오브젝트Name] = 벨류 형식으로 넣어준다.

 

그후 Ajax으로 보낼때

data: formdata

이런식으로 json파일은 400이나 415나 타입오류 .. 오류를 뿝는다.

data: JSON.stringify(formdata)

이렇게 String 화 시켜서 보낸다...

.serialize() 를해서 보내는건 log를 찍어보면 key=value&key2=value&key3=value& get방식의 보낸다.

이렇게 받을라면 object나 String key 형식으로 받는다 .

 

위 dataArr 선언이나 object를 만들어서 보내지 않고 폼데이터를 한번에 Json화 시키는방법은

.serializeObject() 을 만들어서 보내는 방법이다 

이 방법은 .serializeArray() 를 이용한 펑션 만드는건데 Jquery 에서 공식적으로 지원하는 플러그인이도 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
jQuery.fn.serializeObject = function() { 
    var obj = null;
    try { 
        if(this[0].tagName && this[0].tagName.toUpperCase() == "FORM" ) { 
            var arr = this.serializeArray(); 
            if(arr) {
                obj = {};
                jQuery.each(arr, function() { 
                    obj[this.name= this.value; 
                }); 
            } 
        } 
    }catch(e) { 
        alert(e.message); 
    }finally {
 
    } 
    return obj; 
}
 

이 펑션을 하나 js파일로 만들어서 include해주거나 선언하고 사용하도록한다...

그럼 위에 방식 dataObjcet를 list만들엇던 형태로 Form을 JSON으로 만들어준다.

 

 

 

 

 

 

 

설정

트랙백

댓글

intellij(인텔리제이)에서 mybatis - xml 맵핑 못찾음

Coding 2020. 2. 5. 12:17
  1. xml등의 파일을 모두 main/resources로 옮긴 후 경로설정을 한다.

  2. pom.xml 파일에 다른 경로에서도 .xml등의 확장자를 인식하도록 설정한다.

1번 방법은 인텔리제이에서 main/ resources 으로 변경하여 mapper 위치 xml잡는걸 해당위치다 잡아주거나 

그래도 안된다면 

 

pom.xml  빌드 안에

 

<build>
       <resources>
           <resource>
               <directory>src/main/java</directory>
               <includes>
                   <include>**/*.xml</include>
               </includes>
           </resource>
           <resource>
               <directory>src/main/java</directory>
               <includes>
                   <include>**/*.properties</include>
               </includes>
           </resource>
       </resources>
</build>

추가로 잡아준다..

설정

트랙백

댓글

Oracle DB 프로시저 안 merge

Coding/DB 2020. 1. 20. 10:47

create or replace procedure testprocedure
is
    begin
    merge into p_total total
    using pt_01 p01
        on (total.판매번호 = p01.판매번호)
    when MATCHED then
        update set total.제품번호 = p01.제품번호
    when not MATCHED then
        insert values(p01.판매번호,p01.제품번호,p01.수량,p01.금액);
 end testprocedure;

 

문법의 형태-

is 앞에 변수 받도록 기본 프로시저 문법을 참고 -  in out inout 중...

해당 변수를 받아서 구성하면 될듯하다 ..

 

'Coding > DB' 카테고리의 다른 글

오라클 db pl/sql 관련 내용 참고  (0) 2020.01.19

설정

트랙백

댓글

오라클 db pl/sql 관련 내용 참고

Coding/DB 2020. 1. 19. 22:48

https://thebook.io/006696/

 

더북(TheBook): 오라클 SQL과 PL/SQL을 다루는 기술

 

thebook.io

 

전자 책도 있고 종이책도 있지만...

 

홈피 링크로 원하는 부분을 쉽게 찾아볼수있다.

 

오라클 db 쿼리문에 대해서 쉽게 찾아볼수있는 곳이다.

'Coding > DB' 카테고리의 다른 글

Oracle DB 프로시저 안 merge  (0) 2020.01.20

설정

트랙백

댓글