Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- MRC
- RCPS
- 파생상품평가
- Ajax
- userManagement
- 공통메서드
- 로그인
- react
- 관리자페이지
- stock option
- 스프링시큐리티
- 빌드 및 배포
- 로그인 로직
- Styled Components
- 이미지 업로드
- 밸류즈
- Typesciprt
- Update
- 밸류즈 홈페이지
- 달력 라이브러리
- 회원가입로직
- register
- jsonwebtoken
- 캘린더 라이브러리
- 배포
- ui탬플릿
- 마이페이지
- Token
- 인증처리
- mypage
Archives
- Today
- Total
I T H
[프로젝트] 7. 공통사용 스크립트 작성 (Week 2) 본문
화면마다 공통으로 사용할 스크립트 파일을 정리하기 위해
공통사용 스크립트 파일을 따로 만들기로 함.
[ util.js ]
ajax 호출을 함수화 시켜 호출하여 사용할 수 있도록 함.
/******************************************************************************
*
* cfFind
* ajax call 를 통한 데이터 조회 시 사용
*
******************************************************************************/
function cfFind(url, obj, fnSuccess, isSync, type) {
$.ajax({
beforeSend: function(xhr) {
xhr.setRequestHeader("AJAX", true);
},
dataType : "json",
type : type || "GET",
url : url,
contentType : "application/json; charset=utf-8",
data : JSON.stringify(obj),
async : (isSync)? false : true, /* sync */
success : fnSuccess || function(result){
setTimeout(function () {
}, 1000);
},
error : function(request){
if(request.status == "401") {
alert("인증에 실패 했습니다. 로그인 페이지로 이동합니다.");
location.href = "/j_spring_security_logout";
} else if (request.status == "403") {
alert("세션이 만료가 되었습니다. 로그인 페이지로 이동합니다.");
location.href = "/j_spring_security_logout";
}
}
});
if(fnSuccess) {
setTimeout(function () {
}, 1000);
}
}
/******************************************************************************
*
* cfSave
* ajax call 를 통한 데이터 저장, 수정, 삭제 시 사용
*
******************************************************************************/
function cfSave(url, obj, fnSuccess, fnError, async, total) {
$.ajax({
beforeSend: function(xhr) {
xhr.setRequestHeader("AJAX", true);
},
dataType : "json",
type : "POST",
url : url,
async : async ? async : false,
contentType : "application/json; charset=utf-8",
data : JSON.stringify(obj),
success : fnSuccess || function(result){
alert("저장완료", "저장되었습니다.");
},
error : fnError || function(request){
if(request.status == "401") {
alert("인증에 실패 했습니다. 로그인 페이지로 이동합니다.");
location.href = "/j_spring_security_logout";
} else if (request.status == "403") {
alert("세션이 만료가 되었습니다. 로그인 페이지로 이동합니다.");
location.href = "/j_spring_security_logout";
}
console.log("통신중 에러가 발생하였습니다.\n"+"code:"+request.status+"\nmessage:"+request.responseText);
}
});
}
/******************************************************************************
*
* cfUpload
* ajax call 를 통한 파일 업로드 시 사용
*
******************************************************************************/
function cfUpload(url, fnSuccess, fnError) {
var formData = new FormData();
var files = $("[name^='file']");
for(var i = 0; i < files.length; i++) {
formData.append("file", $("[name^='file']")[i].files[0]); //파일 한개
}
formData.append("enctype", "multipart/form-data");
$.ajax({
url: url,
type: "POST",
processData: false, // file전송시 필수
contentType: false, // file전송시 필수
data: formData,
success: fnSuccess || function(responseText, statusText) {
}, //ajax error
error : fnError || function(request){
console.log("통신중 에러가 발생하였습니다.\n"+"code:"+request.status+"\nmessage:"+request.responseText);
}
});
}
/******************************************************************************
*
* checkRegexp
* 정규식 패턴 체크 (이메일 등)
*
******************************************************************************/
function checkRegexp(o, regexp) {
if (!(regexp.test(o.val()))) {
return false;
} else {
return true;
}
}
/******************************************************************************
*
* cfGetBrowser
* 클라이언트 브라우저 정보 확인
*
******************************************************************************/
function cfGetBrowser() {
var ua = navigator.userAgent;
var tem;
var M = ua.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
if(/trident/i.test(M[1])){
tem=/\brv[ :]+(\d+)/g.exec(ua) || [];
return 'IE '+(tem[1]||'');
}
if(M[1]==='Chrome'){
tem=ua.match(/\bOPR\/(\d+)/);
if(tem!=null) {return 'Opera '+tem[1];}
}
M=M[2]? [M[1], M[2]]: [navigator.appName, navigator.appVersion, '-?'];
if((tem=ua.match(/version\/(\d+)/i))!=null) {M.splice(1,1,tem[1]);}
return M[0];
}
/******************************************************************************
*
* cfCustomExcelDownloadDyn
* 엑셀 다운로드 (동적 파라미터 형태)
*
******************************************************************************/
function cfCustomExcelDownloadDyn(url, obj, method) {
var keys = Object.keys(obj);
var form = "<form action='" + url + "' method='" + (method ? method : 'POST') + "'>";
for(var i = 0; i < keys.length; i++) {
form += "<input type='hidden' name='" + keys[i] + "' value='" + obj[keys[i]] + "' />";
}
form += "</form>";
$(form).appendTo("body").submit().remove();
}
'Spring ArtGallery Project' 카테고리의 다른 글
[프로젝트] 9. 백엔드개발 - 회원가입 로직 (Week 2) (1) | 2024.01.23 |
---|---|
[프로젝트] 8. 화면개발 - 회원가입 페이지 구현 (Week 2) (1) | 2024.01.23 |
[프로젝트] 6. Database 설정 및 테이블 설계 - 모델링 (Week 2) (0) | 2024.01.23 |
[프로젝트] 5. 템플릿 적용 (Week 2) (0) | 2024.01.23 |
[프로젝트] 4. 기본설정 마무리 및 실행해보기 (Week 1) (0) | 2024.01.23 |