쓸떼 없는 관리자 페이지 토큰 방식 변경
토큰 정보가 올바르지 않다는 오류가 갑자기 발생해서 확인해보니
현재 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;
});
});
현재 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;
});
});
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 2개
이렇게 바꿨을 경우 관리자 기본환경설정 저장이 안되는 문제가 있었습니다.
지금은 다시 원복했는데요.. 버전에 따라서 차이가 있는지 궁금합니다.