한글 안깨지는 시점으로 롤백

2월 3일 smallBeginKim 브랜치가 정상 작동 됨


가장 최근 작업 브랜치와 비교

📌Java


Java 파일이 문제는 아닌듯하다


📌resorces



문제는 js였다…

common.js에서 form serialize를 해주는데…. 여기가 문제였다

     $.ajax({
             url : url,
             type : "post",
             contentType: 'application/x-www-form-urlencoded; charset=utf-8',
             dataType : "text",
             data : $(formId).serialize(),
             success : function(result){
                 //console.log(result);
                //console.log(this.data);
             },
             error : function(err){
                 console.log(err+"에러발생");
                 console.log(this.data);
             }
      });

이렇게 진행하면 별 문제가 없는데

     var formData1 = $(formId).serialize().replace(/%/g,'%25');
      var formData2 = encodeURIComponent($("form").serialize());
      console.log(formData1);
      console.log(formData2);


      $.ajax({
             url : url,
             type : "post",
             contentType: 'application/x-www-form-urlencoded; charset=utf-8',
             dataType : "text",
             data : formData1,
             success : function(result){
                 //console.log(result);
                //console.log(this.data);
             },
             error : function(err){
                 console.log(err+"에러발생");
                 console.log(this.data);
             }
      });

이렇게 하면 한글이 깨진다


원인 파악

일단 post 방식은 데이터를 url에 노출시키지 않음


자바스크립트 작동 안하는거 왜???

안되는거

    <script src="/js/iniForm.js"></script>
    <script src="/js/common.js"></script>
    <script src="/webjars/jquery/3.6.0/jquery.min.js"></script>

    <script>

        datePicker();

        $(function(){

            $("#iniStartDate").change(function(){
                duration();
            })

            $("#iniPeriod").change(function (){
                var duration = $(this).val();

                if(duration == "0"){
                    showElements();

                }else if(duration == "1"){
                    everyWeek();

                    $("#day-pick").click(function(){
                        var checked = $('input[name="day"]:checked').length;
                        if(checked == 7){
                            dayPicker();
                        }
                    })

                }else if(duration == "2"){
                    everyday();
                }
            })

        })

        $(function(){

            $("#click").click(function(){
                console.log("click!");
                readForm("#iniForm", "/readForm");
            });

        })
    </script>

되는거

<script type="text/javascript">

    $(function(){

        $("#click").click(function(){
            readData("?");
            readForm("#iniForm", "/readForm");
        });

    })

</script>
<script src="/js/iniForm.js"></script>
<script>

    datePicker();

    $(function(){

        $("#iniStartDate").change(function(){
            duration();
        })

        $("#iniPeriod").change(function (){
            var duration = $(this).val();

            if(duration == "0"){
                showElements();

            }else if(duration == "1"){
                everyWeek();

                $("#day-pick").click(function(){
                    var checked = $('input[name="day"]:checked').length;
                    if(checked == 7){
                        dayPicker();
                    }
                })

            }else if(duration == "2"){
                everyday();
            }
        })

        $("click").click(function(){
            console.log("click");
            readForm("iniForm","/readForm");
            console.log("readForm 종료");
        })

    })
</script>