쓸떼 없는 관리자 페이지 토큰 방식 변경 > 그누보드5 팁자료실

그누보드5 팁자료실

쓸떼 없는 관리자 페이지 토큰 방식 변경 정보

쓸떼 없는 관리자 페이지 토큰 방식 변경

본문

토큰 정보가 올바르지 않다는 오류가 갑자기 발생해서 확인해보니
현재 ajax의 async: false 옵션이 권장되지 않네요.
당장은 상관 없지만 언.. 젠가는 공식으로 변경해야할 문제니까 올려봅니다.

정작 오류 원인은 개인 코드 문제 였네요 :p

[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

adm/admin.js 의 하단 쪽 $(function (){ 으로 시작하는 부분을 아래로 교체 합니다.
버튼명이 "불러오는 중"으로 변경 된 후 버튼이 비활성 되며(다시 누룰 수 없는 상태)
토큰을 정상적으로 받아오면 실행 합니다.

#1 폼에 토큰란이 이미 존재하는 경우 확인하는 과정 추가 했습니다.
#2 필수 입력란의 공란을 대비해 1.5초후 버튼을 다시 활성화 합니다.

$(function () {
    $('form input:submit').click(function () {
        var button = this;
        var label  = button.value;
        var form  = this.form;
        var token  = form.elements.token;
        if (token && token.value) {
            return true;
        }
        $.ajax({
            type    : 'post',
            url    : g5_admin_url + "/ajax.token.php",
            cache  : false,
            dataType: 'json',
            success : function (data) {
                if (data.error) {
                    alert(data.error);
                    data.url && location.replace(data.url)
                }
                if (data.token) {
                    if (token) {
                        token.value = data.token;
                    } else {
                        $(form).append('<input type="hidden" value="' + data.token + '"').submit();
                    }
                    form.submit();
                } else {
                    alert('토큰 정보가 올바르지 않습니다.');
                }
            },
            error  : function () {
                button.value = '실패';
            }
        });
        this.value    = '불러오는 중';
        this.disabled = true;
        setTimeout(function () {
            button.value    = label;
            button.disabled = false;
        }, 1500);
        return false;
    });
});
추천
3

댓글 2개

어떤 문제인지 모르겠지만 (영카트 5.2 버전입니다.)
이렇게 바꿨을 경우 관리자 기본환경설정 저장이 안되는 문제가 있었습니다.
지금은 다시 원복했는데요.. 버전에 따라서 차이가 있는지 궁금합니다.
전체 2,411 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT