쓸떼 없는 관리자 페이지 토큰 방식 변경 > 그누보드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;
    });
});

댓글 전체

전체 830 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

진행중인 이벤트

  1. 진행중인 이벤트가 존재하지 않습니다.

(주)에스아이알소프트 (06253) 서울 강남구 강남대로 310, 1312호 (역삼동, 유니온센터) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT