반응형 IT 실무/웹프로그래밍34 jQuery ajax에서 http code 200 이외의 다른 코드도 처리하기 jQuery에서 ajax로 데이터를 주고 받을 대 주로 json이나 xml을(이하 json만 다룸) 이용한다. 에러가 있을 경우에도 서버 접속 에러가 아니면 에러 내용은 json에 다 포함시켜서 처리한다.하지만 좀 규모가 큰 프로젝트 같은 경우 200, 201, 400, 404 등을 모두 다르게 고려해야 될 때가 있다. 이 모든 응답 코드에 대해 json이 돌아오는 것이다. 예를 들어 200은 정상적으로 값을 불러왔다는 것이고, 201는 정상적으로 값을 삽입했다는 것이다. 200일 경우엔 불러온 값들, 201에는 삽입한 값에 대한 결과 값이 json으로 온다. 하지만 jQuery Ajax에선 HTTP CODE가 200이 아니면 무조건 error로 처리되어 버린다. 이는 PHP등 많은 프로그램에서도 마찬가.. 2014. 1. 13. [jQuery] Seletor에서 스페이스(" ")와 꺽쇠(">") 의 차이 $("#menu li") 는 #menu 안에 있는 모든 li를 가리키고 $("#menu > li") 는 #menu 바로 아래의 li만 가리킨다. 즉 이거 같은 경우라면 아래 코드가 사용 가능 하지만 이거 같은 경우엔 아래 코드를 사용하면 li 가 선택되지 않는다. 2013. 11. 17. [API] js파일에 get방식으로 파라미터 넘기기 javascript API 형태로 나오는 라이브러리들을 보면 js파일에 map.js?key=abcd 와 같이 get방식으로 파리미터를 넘기는 것을 볼 수 있다. 당연히 이렇게 쓰다 보니 이렇게 되는줄 알았다. 하지만 javascript 파일은 get 방식으로 넘어온 파라미터를 인식 할 수 없다. 열심히 검색 해서 보니 나름 범용적으로 쓰이는 아래 코드가 나온다. /* */ var scripts = document.getElementsByTagName('script'); var myScript = scripts[ scripts.length - 1 ]; var queryString = myScript.src.replace(/^[^\?]+\??/,''); var params = parseQuery( query.. 2013. 10. 27. jQuery에서 ajax 간단히 구현하기 ($.get과 $.post) $.get과 $.post 정말 간단하게 ajax를 사용하고 싶을 때 사용 할 수 있는 간소화된 함수이다. $.get("somepage.php"+someParameter,function(data){ $( ".result" ).html( data ); alert( "Load was performed." ); }); 별로 설명 할 것이 없을만큼 사용법이 간단한다. $.get()안에 ajax로 접근하고자 하는 페이지를 적어 준다. 그냥 페이지 내용만 로드하고 싶은 경우엔 $.get("abc.php")라고 해 주면 되고 파라미터를 넘길 때에는 예제에서 한 것과 같은 방법으로 넘겨도 되고 정석대로 하려면 JSON 배열형태로 넘겨 줘야 한다. 아래의 두 예제는 정확히 같은 기능을 한다. var someParamete.. 2013. 10. 26. 세션 관련 함수 정리 PHP4 이하 버전과 PHP5 이상 버전의 함수가 다르기 때문에 그 차이를 알고 있어야 정확한 세션 구현이 가능하다. 구형 함수를 사용 할 경우 어떤 서버에서는 아무 이상 없이 잘 동작 하지만, 어떤 서버에서는 경고가 출려되고 어떤 서버에서는 아예 에러를 출력하며 죽어버린다. PHP4부터 PHP5까지 점진적으로 사용이 중단되었기 때문인데 그 경계선은 확실히 모르겠다. 다만 그냥 최신 버전의 함수가 무엇인지 알고 그 방식 대로만 사용하면 된다. 세션의 시작 session_start(); 세션과 관련된 함수를 사용할때 항상 먼저 사용되어야 하는 함수이다. "난 이 페이지 내에서 세션을 사용하겠다" 라고 이해하면 된다. 이 함수가 호출되기 이전에 어떤 형태의 출력문도 있으면 안된다. 세션을 구동 시키는건 헤더.. 2013. 8. 16. [CSS] 요소 내에서 초과되는 문자열 "..." 으로 자르기 .cut { width:(폭)px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis } 위 모든 옵션이 다 있어야 동작한다. 2013. 8. 10. HTML + PHP 환경의 무료 POS 오픈소스 프로그램 외국 프로그램이긴 하지만 참고가 많이 될것 같아서 가져왔다. http://sourceforge.net/projects/opensourcepos/ 바코드 리더기도 어짜피 스탠다드 인풋이기 때문에 HTML로 구현 가능 하다는것도 알았다. 인터넷 환경이 지금보다 조금만 더 안정적이고 빨라진다면 HTML5를 이용한 괜찮은 POS 상용 프로그램도 만들 수 있을것 같다. 2013. 7. 29. Stable 버전과 Legacy 버전의 차이 Jquery나 다른 라이브러리(플러그인?)을 사용하다 보면 stable와 legacy 두개의 버전으로 배포하는 것을 볼 수 있다. Stable Version 은 최종 버전 중에서 테스트가 완료되고 버그가 수정된 안정된 버전이다. Legacy Version 은 아직 사용이 가능한 예전 버전이다. 최신 버전에서 새로 생긴 기능들은 제공되지 않지만 아직까지 최신 환경에서 사용하기에 문제가 없는 버전을 가리킨다. 예를 들면, 최신 Stable 버전은 IE6, IE7, IE8 에서의 테스트를 중단하고 IE9와 IE10에서만 테스트가 완료된 버전일수도 있다. 이렇게 되면 Stable이라고 하더라도 IE8 이전의 예전 환경에선 제대로 동작이 되지 않을 수 있다. Legacy 버전은 IE6, IE7, IE8, IE9,.. 2013. 7. 14. [Javascript] String 관련 함수들 charAt(인덱스); 문자열의 인덱스를 인자로 받아 해당 인덱스의 문자열을 반환한다. 0~(lenght-1) ex) "abcde".charAt(3) result) d indexOf(문자열, 시작인덱스); 특정 문자열을 받아서 해당 문자열의 인덱스를 반환한다. 두번째 인자를 입력 할 경우 해당 인덱스부터 문자열을 검색한다. 찾는 문자열이 없을 경우 -1을 반환한다. ex) "abcde".indexOf(d) result) 3 ex) "abcde".indexOf(d,1) result) 2 lastIndexOf(문자열, 시작인덱스); indexOf()와 같지만 뒤에서 시작한다는 것만 다르다. 문자열의 제일 뒷부분의 인덱스가 0이다. split(구분자); 인자로 받은 구분자를 기준으로 문자열을 분할하여 배열을 .. 2012. 12. 1. [Jquery Mobile] Dialog의 Close버튼 없애기 Popup은 바깥 부분을 클릭할 경우(모바일의 경우 터치) 팝업이 닫힌다. 하지만 Dialog는 Close버튼이나 Dialog페이지상의 data-rel="back" 속성이 들어간 버튼을 클릭 해야만 창이 닫히는데, 이를 이용해서 어떤 이벤트가 발생 했을 경우 강제로 Dialog에 있는 두가지 선택 중 하나를 선택 하도록 강요할 수 있다. 그러려면 기존에 있는 Close버튼(상단의 x모양 버튼)을 없애야 하는데 아래와 같은 css스타일을 추가 해 주면 된다. .ui-dialog .ui-header a.ui-btn { display:none; } 2012. 11. 16. [Jquery Mobile] $.mobile.changePage - 페이지 이동 메소드 href나 location.href를 사용하지 않고, Jquery Mobile의 자체 메소드를 사용 하려면 저렇게 쓴다. $.mobile.changePage("원하는 페이지"); 같은 파일 내에서의 이동은 $.mobile.changePage("#location"); 다른 파일로의 이동 $.mobile.changePage("location.php"); 효과주기 $.mobile.changePage("#location",{ transition: "slideup"}); 기타 옵션 $.mobile.changePage("#location",{ transition: "slideup", reverse: true}) 2012. 11. 16. [Jquery Mobile] ajax를 쓰지 않고 페이징 처리하기 Jquery Mobile에선 기본적으로 href를 Jqeury Ajax로 처리한다. href="test.php"라는 속성으로 test.php로 이동 하려고 해도 기존페이지#test.php로 이동되어 원하는 처리를 할 수 없다. 이럴 땐 data-ajax="false" 라는 속성을 추가 해 준다. ex) test.php로 이동 2012. 11. 16. [Jquery] 주요 함수 레퍼런스와 깔끔한 예제들 http://jqueryui.com/ 2012. 11. 10. [PHP] 썸네일 함수 정리 업로드한 파일이나 이미 저장된 파일을 축소해서 썸네일을 생성하는 방법을 요약하면 1. 원본이미지를 불러온다 2. 새로이 생성될 이미지가 들어갈 집을 만든다 3. 만들어진 집에 원본이미지를 축소하여 붙여 넣는다 4. 저장한다. 예를들어 400*200 인 origin.gif 를 200*100 의 copy.gif 로 만드는 과정을 보자 // 원본 이미지 load $path = "/images/origin.gif"; $o_img = imagecreatefromgif($path); // 썸네일 이미지가 들어갈 집 만들기 $n_img = imagecreatetruecolor(200,100); // 생성한 집에 원본이미지를 축소해서 넣기 imagecopyresampled($n_img,$o_img,0,0,0,0,200.. 2012. 11. 10. [HTML/CSS] RGB 색상표 가장 쓰기 편한곳 http://html-color-codes.info/ 2012. 11. 10. [HTML/CSS] overflow된 텍스트 자르기 style=" white-space:nowrap; text-overflow:ellipsis; overflow:hidden;"text-overflow:clip; /*그대로 자름*/text-overflow:ellipsis; /*끝에 ... 붙임*/ 2012. 11. 10. 이전 1 2 다음 반응형