사이트 내 전체검색
그누보드
그누보드 회원가입의 ajax 오류 : 익스플로어 7.0에서의 Ajax 오류 C00CE56E 해결
로빈아빠
https://cmd.kr/gnu/8 URL이 복사되었습니다.

본문

출처:http://crazyluv.tistory.com/7

Ajax를 이용해서 개발한 프로그램을 이용하는데..

어느날부턴가 C00CE56E 오류가 발생하기 시작했다.

알고봤더니 IE7을 이용하면서부터 발생한 문제로

오류가 발생한 이유는 다름아는 케릭터셋의 불분명한 명명 ㅡㅡ;

euc_kr, cp949, utf... 등으로 지정되어 있었던 것이다.

이것을 모두다 korean으로 지정해주고나서 오류가 사라졌다.

혹시라도 위와같은 오류가 발생한다면 charset을 확인해 보시라~

참고사이트 : http://support.microsoft.com/kb/304625

--> UTF-8 환경하 에서 AJAX 오류 수정 내용 등록해두었음..



작성: freeimage.kr 김성대 09.01.06

서버환경,홈페이지소스, 사용자 모든환경이 UTF 면 문제는 없지만
보통은 서버는 EUC-KR 환경인경우가 많다.. 그러므로 그누보드 UTF-8 버젼을 아무리 깔아도
현 상태로는 AJAX,화면오류메시지 이상등의 문제가 발생된다. (2009.01.06현재)
해결책은 다음과 같다.

1. 홈페이지소스는 UTF-8이어야 한다.. (당연하지만 실수하는경우가 많다.)
   보통 edit-plus 등 편집기로 작업한뒤 저장하면 ANSI 로 저장되는데 UTF-8로 저장해야한다.

2. AJAX로 넘길때는 다음 인코딩 코드를 넣어주는것이 좋다. (필수적인것은 아니지만.. 추천함)
   encoding: 'utf-8',

3. AJAX 에서 화면을 출력할때는 소스상단에 다음과 같은 라인이 포함되어야 한다.
   이게 포함되지 않으면 windows 오류 메시자가 나온다. (최악의 경우 브라우즈가 다운되는경우도 있다.)
   header("Content-type: text/html;charset=UTF-8");

  그누보드 아이디확인코드는 다음과 같이 바꾸여야 한다//

1. skin/memner/basic/ajax_register_form.js

// 회원아이디 검사

function reg_mb_id_check() {
    var url = member_skin_path + "/ajax_mb_id_check.php";
    var para = "reg_mb_id="+encodeURIComponent($F('reg_mb_id'));
    var myAjax = new Ajax.Request(
        url,
        {
            method: 'post',
            // 주소창 보안 방지 javascript:void(document.fregisterform.mb_id_enabled.value='000');
            // 동기식 (폼전송시 입력값이 바른지 검사한 후 mb_id_enabled 를 체크하기 때문)
            asynchronous: false,
            parameters: para,
            onComplete: return_reg_mb_id_check
        });
}
이 함수는 다음으로 대치되어야 한다.
(encodeURIComponent 함수는 없어도 된다.)

// 회원아이디 검사
function reg_mb_id_check() {
    var url = member_skin_path + "/ajax_mb_id_check.php";
    var myAjax = new Ajax.Request(
        url,
        {
            method: 'post',
            // 주소창 보안 방지 javascript:void(document.fregisterform.mb_id_enabled.value='000');
            // 동기식 (폼전송시 입력값이 바른지 검사한 후 mb_id_enabled 를 체크하기 때문)
            asynchronous: false,
            parameters: { reg_mb_id : $F('reg_mb_id') },
            encoding: 'utf-8',

            onComplete: return_reg_mb_id_check
        });
}

2. ajax_mb_id_check.php 파일의 상단에는 UTF-8 헤드가 추가되어야한다.
include_once("_common.php");
header("Content-type: text/html;charset=UTF-8");  // 이줄 추가..
// 이줄을 추가함으로서 한글을 전송메시지로 사용해도 문제가 없다..

3. 그외 javascript의 alert 함수를 사용하기전에 
  Content-type: text/html;charset=UTF-8 를 출력해야하는데.
현재 버젼에는 전부 적용되어 있는듯하다. 혹시 alert 메시지가 깨어져 나온다면..
다음과 같이 charset 을 추가해주면된다..
 echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=$g4[charset]\">";
 echo "<script language='javascript'>alert('$msg');";

댓글목록

등록된 댓글이 없습니다.

그누보드
190 (1/4P)

Search

Copyright © Cmd 명령어 3.141.30.211