모도
1k
2016-08-23 15:27:30
6
977

아니도대체왜!!안되는거야!! ajax질문ㅠㅠㅠ



	var json_data = "json_data=" + JSON.stringify( $( "#admin_notice_form" ).serializeObject() );
			alert(json_data );
			// save url
			var action_url = "admin_notice_write.json";

			$.ajax(
			{
				url : action_url,
				data : json_data,
				dataType : "json",
				type : "post",
				processData: false,
				contentType: false,
				success : function( code )
				{
					if ( code == "0000" )
					{
						alert( "공지사항 글쓰기 완료." );
						location.reload(true);  
					}else{
						
						alert( "공지사항 글쓰기 실패." );
					}
				},
				error : function()
				{
					alert( "공지사항 글쓰기 실패." );
					self.close();
				}
			} );

alert창으로 띠운값은 제대로뜹니다

근데

저렇게 컨트롤러보내면 데이터가 없어집니다 왜이러죠:\?ㅡㅡ

이렇게 같은 페이지 여러개 다 하고있는데 다 되는데 이 페이지만 이럽니다 하...

0
  • 답변 6

  • NG
    2k
    2016-08-23 15:37:49

    데이터가 없어진다는게 어떤 의미인가요?

    그리고 "json_data="

    이건 왜 추가하는 건가요?

  • 모도
    1k
    2016-08-23 15:40:58

    컨트롤러에서 @ModelAttribute(value = "json_data" ) String json_data  이렇게 읽습니다.

  • 모도
    1k
    2016-08-23 15:41:22

    컨트롤러에서 null로 뜹니다.

  • 큐럼
    982
    2016-08-23 15:55:18

    modelAttribute든 requestParam이든 넘어오는 데이터에 맞아야할텐데

    json_data를 통째로 넘겨서 json_data에 맞는 포맷의 클래스로 된 modelAttribute를 활용하는게 낫지않을까요?

  • ghkdwls30
    2k
    2016-08-23 16:39:05

    @reqeustBody로 받아보시길.. json의 경우

  • 즈루시
    2016-08-23 17:23:01

    form을 직렬화 하고 그걸 또 딴 네임으로 넘기는게 이상해요.

    직렬화 한 그 데이터 만 컨트롤러에서 맵으로 받아보시죠...

  • 로그인을 하시면 답변 을 등록할 수 있습니다.