본문 바로가기

Spring/JavaScript+Jsp(HTMl)39

[JS] 프로미스(Promise)란? + 예제 ▶ 프로미스(Promise) 란? 자바스크립트는 비동기 처리를 위한 하나의 패턴으로 콜백함수를 사용한다. 하지만 전통적인 콜백 패턴은 가독성이 나쁘고 비동기 처리 중 발생한 에러의 예외 처리가 곤란하며 여러개의 비동기 처리 로직을 한꺼번에 처리하는 것도 한계가 있다. ES6에서 비동기 처리를 위한 또 다른 패턴으로 프로미스(Promise)를 도입했다. 콜백 패턴이 가진 단점을 보완하며 비동기 처리 시점을 명확하게 표현한다. ▶ 프로미스(Promise) 장점 비동기 처리 시점을 명확하게 표현 연속된 비동기 처리 작업을 수정, 삭제, 추가하기 편하고 유연 비동기 작업 상태 쉽게 확인 가능 코드의 유지 보수성 증가 ▶ 프로미스(Promise) 생성 프로미스는 생성자 함수를 통해 인스턴스화 한다. Promise.. 2023. 10. 30.
[js/java] ajax 200에러 parsererror 오류 해결방안 및 json데이터 null처리방법 Ajax에서 200에러인 parsererror가 계속난다. 호출등 url도 정상적이다. 인터넷에 떠도는 dataType : 'json'도 ajax 없었다. 원인을 파악하다가 잘되는 예제와 안되는 예제를 비교하였는데 이유는 데이터가 비어 있거나 무효한 경우이었다. 어떤 경우에 따라서 VO값이 null값을 반환하는데 이게 오류의 원인이었다. 나는 java단에서 null처리를 해결하여 문제해결을 했다. [ java 코드 ] @RequestMapping(value = "/test") public ResponseEntity stest(@RequestBody SsssVO SsssVO) throws Exception { SsssVO vo = stestService.stest(SsssVO); if (vo != null.. 2023. 9. 26.
[JS] IOS mobile focus() not working 포커스 이동 해결방법 안드로이드와 웹 모바일은 focus()기능이 무리없이 아주 잘 작동된다. 하지만..!! ios인 아이폰에서 focus()기능이 안되어 당황;;; ios 모바일에서 포커스기능을 작동하려면 단독으로 사용하지말고 클릭버튼 등 활용하여 하면 된다고 한다. 구글검색하여 나온 별별 방법들을 사용해봤지만 ios mobile에선 안되었다. 포기할 참에 꼭 focus()기능을 사용하지 않아도 된다는 걸 알았다. 내가 focus()기능을 사용하는 이유는 위치이동인데 위치이동을 할 수 있는 다른 함수를 사용하면 된다. 바로 scrollTop() , offset().top함수를 이용하여 위치이동할 예정이다. //페이지상단 이동 document.body.scrollTop = 0; // For Safari document.doc.. 2023. 9. 19.
[ javascript ] onclick, location.href, window.open으로 팝업/새창 띄우기 a태그를 이용하여 url이동을 많이하지만 a태그가 아닐 경우에 onclick 함수 사용하여 url 이동을 종종할 때가 있다. 이럴 경우의 참고용이다. 1. 현재페이지에 부를때 onclick="location.href='링크url'" 1-1. 새 창에 열때 onclick="window.open('링크url')" 2. 상위 프레임에 부를때 onclick="parent.location.href='링크url'" 3. 팝업 - 예전방식으로 잘안됨 onclick="OpenWin_variety('링크url','창이름',width,height,출력좌표X,출력위치Y)" 3-1. 팝업(1-1응용) onClick="window.open('링크url','팝업창이름','width=1000,height=500')" 2023. 8. 31.
[JavaScript] href post 방식으로 전송하여 페이지 이동 방법 jps에서 사용하면 get방식으로 페이지 이동된다. 만약 java에서 페이지 method를 post로 설정하였다면 에러가 난다. @RequestMapping(value = "/test/list", method = {RequestMethod.POST}) public String test(ModelMap modelMap, @RequestParam(value = "test", required = false) String test) { modelMap.addAttribute("test", test); return setTilesTitle(modelMap, "test").callTilesView("jsp/test/list", TILES_TPL.DEFUALT); } 위에 처럼 post방식으로만 확인한다면 get방식.. 2023. 8. 9.
728x90