본문 바로가기

자바스크립트(jquery)

(21)
javascript input 데이터 post 전송 제한 꽤나 많은 input 데이터들을 저장해야하는 일이 있었다.평소에 하듯이 ajax 로 직렬화를 한 후 post로 데이터를 넘기는데 큰 이상이 없었는데 데이터를 확인해보니 일정 이상 input 데이터가 들어오지 않고 짤려있었다.특별한 오류도 화면에 나오지 않았던터라 문제없는줄 알았으나 아니였던 것... 일단 확인해볼것은 메모리 문제사실 메모리문제면 처리하는 동안 화면도 멈출테고 완료 메세지도 return이 되지 않겠지만 확인해보면 결과 역시 메모리문제는 아니였다. memory limit를 무한대로 줘도 그대로였다. 두번째로는 POST 용량제한 다른 언어는 모르겠다만 작업한 php에서는 post 로 받아올때 용량제한이 걸려있다. 사실 이것도 warning이 뜨는것으로 알고있었으나 혹시나 하는 마음에 확인해본결..
javascript 로딩바css 간단한 css로 만든 로딩바 javascript부분 function loading_bar_start(callback){ let maskHeight = $(document).height(); let maskWidth = window.document.body.clientWidth; let mask = ""; let loadingImg = ''; let loadingLocationX = maskWidth/2 - 100; //화면 중앙에 로딩이미지 띄우기위한 x,y let loadingLocationY = maskHeight/2 - 100; //이미지 크기에따라 -100 부분조절(테스트했던 이미지가 200*200 이라서 -100) loadingImg += ` `; loadingImg += " "; $('body..
javascript 세션 유지 로그인 문제 서비스 중 정보를 등록할때 세션의 id 도 같이 등록하는 프로세스가 있다. 문제는 세션 유지시간이 초과되어 세션이 풀린 상태에서 등록을 시도하면 에러가 난다는 것 이다. 이 문제는 등록시 세션체크를 안 했었기에 일어난 문제였다. 등록시 세션을 체크해서 세션 정보가 없으면 알림을 띄워주면된다. 추가적으로 알람 이후 로그인 팝업창을 띄워서 기존 입력하던 정보를 유지하며 재로그인이 가능하도록 만들었다. ​ 그런데 이 부분에서 문제가 발생한다. 팝업에서 정보를 등록하고 부모창으로 데이터를 보내줘야하는데 세션이 풀렸다가 다시 로그인했던 문제인지 opener가 잡히지 않는 상황이다. ​ 왜 이런지 생각해봐야 되는 부분은 2군데인데 첫번째로는 테스트를 위해 부모창에 있는 로그아웃 버튼을 눌러서 부모창이 원래 페이지가..
javascript undefined, null 체크 자바스크립트로 null값 체크하는데 자꾸 착각해서 빈값 체크만 하다보니 undefined 예외 상황이 체크가 안되서 짜증나서 만들었다.
jquery 다량의 배열 post post할 데이터가 배열에 많이 할당되는 경우가 생겼다. ​ html에서 name이 배열 형태로 되어있는 데이터를 ajax를 이용해서 서버로 post하는데 많은 데이터를 넘겨야되는 일이 있었다. 몇 십 건까지는 문제없었지만 200건이 넘어가는 순간부터는 배열이 넘어가지 않았다. 아마 서버에서 post받는 양이 제한되는듯 하다. 서버를 건드릴수가 없어서 jquery를 수정해봤다. 기존ajax $.ajax({ url: '/url', type: 'post', dataType: 'json', data: $('#form').serialize(), success: function (response) { alert(response.msg); if(response.status=='ok'){ self.location.r..
체크박스 전체선택 및 선택삭제 체크박스를 전체 선택하고 삭제버튼 누를시 선택한 리스트 삭제하는 코드 html 부분 //전체선택버튼 //리스트쪽 체크박스 javascript 부분 //체크박스 전체 선택 function chk_all(){ if($("#checkbox_all").is(":checked")){ $('.list_check').prop('checked', true); }else{ $('.list_check').prop('checked', false); } } //선택라인 모두 삭제 function chk_remove(){ $.each ($('.list_check'), function (index, value) { let obj = $(value); if(obj.is(":checked")){ let tr = obj.parent(..
javascript에서 formData append 확인법 javascript에서 formData에 데이터를 append하는 경우 console.log에서 formData를 아무리 찍어도 나오지않는다. 이런경우 아래같이 for문을 돌리면 확인가능하다. //javascript 에서 formData append 확인 방법 for (var pair of formData.entries()) { console.log(pair[0] + ": " + pair[1]); } formData.append 이후 데이터를 확인하고 싶을 때 사용하면 유용할 듯하다
javascript 로딩 프로그래스바 xhr 을 이용하여 로딩 진행도 가져왔다. upload ajax에 적용 //프로그래스라벨 html 추가 let progressLabel = $(''); //업로드함수 호출 uploadFile(file, progressLabel); // 파일 업로드 함수 function uploadFile(file, progressLabel) { var formData = new FormData(); formData.append('file', file); $.ajax({ url: '/file_upload', type: 'POST', data: formData, processData: false, contentType: false, xhr: function() { var xhr = new XMLHttpRequest(); x..

반응형