java 와 jsp 간 ajax 를 통해 json 데이터를 주고 받기가 잘 안됩니다...(2/2)
- 작성자 :
- 공*철
- 작성일 :
- 2013-11-22 07:10:09
- 조회수 :
- 1,736
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
java 단에서 조회는 정상적으로 되지만 화면에는 에러 발생하는 경우
----------------------------------------------------------------
jsp 단에서
data : $(this).val(),
로 바꾸고
java 단에서
@RequestBody String field
로 해서 field 값을 찍어보면 정확히 값이 들어있음을 볼 수 있고
vo.setTestCode(field);
로 바꿔보면 조회가 잘 되어
System.out.println("############### obj : "+obj);
의 내용이
{"ist":[{"testName":서울,"testTel":"02-123-1234"},{{"testName":제주...
이런 식으로 잘 들어있구요.
그런데...
jsp 화면에는
alert 이 뜨고 그 내용은
"에러 : 200 : OK"
입니다.
200 : OK
인데 success 로 가지 않고 왜 error 가 발생하는걸까요?
뭔가 서버단에서 변환이 잘못된건지...?
java 단의 해당 selectTestList() 메서드에 접근도 안되는건지...
System.out.println("############ 1");
와 같은 어떠한 표시도 안찍히고
또 조회도 안되는 경우
----------------------------------------------------------------
ajax 에서 서버로 json 형대로 field 테그의 값을 전달하려고 하는데
위의 소스처럼 하면 java 단의
System.out.println("############ 1");
...
이런 출력물들이 전혀 안찍히고 당연히 조회도 안됩니다.
selectTestList() 메서드로 접근자체가 안되었는걸까요...?
1 번과 마찬가지로...
jsp 화면에는
alert 이 뜨고 그 내용은
"에러 : 200 : OK"
입니다.
최종적으로 원하는 결론은...
----------------------------------------------------------------
jsp 단에서 ajax 를 통해 json object(예: { "field" : $(this).val() }) 를
java 로 넘기고
java 단에서는 그 object (경우에 따라 여러 개의 파라미터 값들이 들어 있을 수도 있겠지요) 를 받아서
조회할 조건에 입력하고
조회결과를 jsonobject 형태로 다시
jsp 로 보내는 것입니다.
근데 1번의 경우는 그나마 java 단에서 조회결과는 정상적이지만
jsp 에서 에러 이벤트가 발생하고...
2번의 경우는 아에 아무것도 안되고...
만일 된다고 하더라도 저는 jsp 단에서 java 단으로
단순 문자열이 아닌 2번 경우처럼 object 로 넘기려고 합니다.
아무튼 위에서
처리 결과가 jsp 에서 에러 이벤트가 아닌
success 이벤트로 뜨게 하려면 어떻게 해야할까요?
----------------------------------------------------------------
jsp 단에서
data : $(this).val(),
로 바꾸고
java 단에서
@RequestBody String field
로 해서 field 값을 찍어보면 정확히 값이 들어있음을 볼 수 있고
vo.setTestCode(field);
로 바꿔보면 조회가 잘 되어
System.out.println("############### obj : "+obj);
의 내용이
{"ist":[{"testName":서울,"testTel":"02-123-1234"},{{"testName":제주...
이런 식으로 잘 들어있구요.
그런데...
jsp 화면에는
alert 이 뜨고 그 내용은
"에러 : 200 : OK"
입니다.
200 : OK
인데 success 로 가지 않고 왜 error 가 발생하는걸까요?
뭔가 서버단에서 변환이 잘못된건지...?
java 단의 해당 selectTestList() 메서드에 접근도 안되는건지...
System.out.println("############ 1");
와 같은 어떠한 표시도 안찍히고
또 조회도 안되는 경우
----------------------------------------------------------------
ajax 에서 서버로 json 형대로 field 테그의 값을 전달하려고 하는데
위의 소스처럼 하면 java 단의
System.out.println("############ 1");
...
이런 출력물들이 전혀 안찍히고 당연히 조회도 안됩니다.
selectTestList() 메서드로 접근자체가 안되었는걸까요...?
1 번과 마찬가지로...
jsp 화면에는
alert 이 뜨고 그 내용은
"에러 : 200 : OK"
입니다.
최종적으로 원하는 결론은...
----------------------------------------------------------------
jsp 단에서 ajax 를 통해 json object(예: { "field" : $(this).val() }) 를
java 로 넘기고
java 단에서는 그 object (경우에 따라 여러 개의 파라미터 값들이 들어 있을 수도 있겠지요) 를 받아서
조회할 조건에 입력하고
조회결과를 jsonobject 형태로 다시
jsp 로 보내는 것입니다.
근데 1번의 경우는 그나마 java 단에서 조회결과는 정상적이지만
jsp 에서 에러 이벤트가 발생하고...
2번의 경우는 아에 아무것도 안되고...
만일 된다고 하더라도 저는 jsp 단에서 java 단으로
단순 문자열이 아닌 2번 경우처럼 object 로 넘기려고 합니다.
아무튼 위에서
처리 결과가 jsp 에서 에러 이벤트가 아닌
success 이벤트로 뜨게 하려면 어떻게 해야할까요?
A
안녕하세요. 표준프레임워크센터입니다.
웹 브라우저에서 json값이 제대로 받아왔는지 먼저 확인해보시기 바랍니다.
json의 값이 제대로 받아지지 않는다면 Controller에서 json으로 변환하는 처리가 제대로 안되어있는 것입니다.
jQuery ajax로 호출 시에 controller에서 값을 json으로 넘겨주기 위해서는 여러가지 방법이 있습니다.
그 중, View를 MappingJacksonJsonView로 설정할 것을 권해드립니다.
감사합니다.
웹 브라우저에서 json값이 제대로 받아왔는지 먼저 확인해보시기 바랍니다.
json의 값이 제대로 받아지지 않는다면 Controller에서 json으로 변환하는 처리가 제대로 안되어있는 것입니다.
jQuery ajax로 호출 시에 controller에서 값을 json으로 넘겨주기 위해서는 여러가지 방법이 있습니다.
그 중, View를 MappingJacksonJsonView로 설정할 것을 권해드립니다.
감사합니다.