개발 Q&A

제목 데이터 수정 후 리로드시 오류 발생문제 해결방법이 있을까요?
카테고리 JavaScript
글쓴이 정수리 작성시각 2016/12/02 09:32:36
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 13016   RSS

팝업창에 데이터를 등록하고 수정한 후 수정됐다는 알림창이 뜬후 팝업창이 닫히고

페이지 새로고침이 되도록 하였습니다.

그런데 알림창만 뜨고 팝업창은 하얀화면에 뜨고 페이지는 새로고침이 안되더군요

개발자 도구를 확인해 보니

 

수정 버튼을 클릭하고 알림창이 뜬후 

Error: Permission denied to access property "reload"

 

이런 오류가 발생하더라구요;;

 

처음에는 

$data = array();
			foreach($this->input->post(null, true) as $key => $val) $data["{$key}"]= $val;
		
		if(!empty($data['Twrite1'])){
							
				$data['Twrite'] = $data['Twrite1'];
			}

			if(!empty($data['Ttype2'])){
							
				$data['Ttype'] = $data['Ttype2'];
			}

		
				
				$result = $this->Gigwan_m->dm_modify($data);

				if($result){

				
				echo "
					<meta http-equiv='Content-type' content='text/html; charset=utf-8'>
					<script>alert('등록되었습니다');
					window.opener.parent.location.reload();
						window.close();
					</script>";
					

			}

	}

 

이렇게 하다가 안되길래

 

echo "
					<meta http-equiv='Content-type' content='text/html; charset=utf-8'>
					<script>alert('등록되었습니다');
					window.opener.parent.location.reload();
						window.close();
					</script>";

이부분을 

                                     $this->session->set_flashdata('message', '수정되었습니다.');

					redirect('/gigwan_c/dm_modifypop/'.$data['Tno'].'/'.$data['gg_pk']);

 

이렇게 고쳐서 뷰페이지에서 script문 작성하였습니다.

 

하지만 똑같이 alert창까지만 뜨고 똑같은 에러가 발생하더라구요;

 

등록같은 경우도 수정하는 부분과 거이 똑같은데 

등록했을 경우는 알림창도 잘뜨고 팝업창이 닫히고 페이지 새로고침까지 되는데...

 

무엇이 문제 이길래 저 오류가 발생하는것일까요??;

 

일단 제가 만든 모든 페이지의 경우 데이터를 등록하고 수정하는 방식은 위에서 말한 방식으로 이루어져있습니다.

유독 특정한페이지에서 수정부분만 이말썽을 일으키네요ㅜㅜ

 

 다음글 사이트 내 랜덤하게 무한 로딩에 빠지고 멈추는 현상의 ... (5)
 이전글 ajax로 동기로 하는 방법에 대해 문의 (2)

댓글

/ 2016/12/02 14:26:14 / 추천 0

요런건 그누보드에 /lib/common.php라는걸 보면 구현된 소스 나오는데요.

alert 한 후 페이지 이동같은 경우는 자주 쓰는 거니 lib이나 helper에 함수 만드셔서 그 함수를 호출하는 방향으로 개발해보세요~

저는 마나님이 만든거 보고 제 나름 커스텀 해서 사용하고 있어요..

constant.php

define('RT_PATH', ''); // ex) /test
//저는 헬퍼에 등록해서 오토로드 해놨어요. 전역적으로 사용하려고요.

// 경고메세지를 경고창으로
function alert($msg='', $url='') {
    $CI =& get_instance();

    if (!$msg) $msg = '올바른 방법으로 이용하세요.';

    echo "<meta http-equiv=\"content-type\" content=\"text/html; charset=".$CI->config->item('charset')."\">";
    echo "<script type='text/javascript'>alert('".$msg."');";
    if (!$url)
        echo "history.go(-1);";
    echo "</script>";
    if ($url)
        goto_url($url);
    exit;
}

// 해당 url로 이동
function goto_url($url) {
    $temp = parse_url($url);
    if (empty($temp['host'])) {
        $CI =& get_instance();
        $url = ($temp['path'] != '/') ? RT_PATH.'/'.$url : $CI->config->item('base_url').RT_PATH;
    }
    echo "<script type='text/javascript'> location.replace('".$url."'); </script>";
    exit;
}

 

/ 2016/12/02 14:34:35 / 추천 0

내용을 잘못이해했네요 .. 

스크립트 에러인듯요..구글링 해보면 답 나오실듯 .. Permission denied to access property "reload"

 .. 

/ 2016/12/02 14:34:37 / 추천 0

내용을 잘못이해했네요 .. 

스크립트 에러인듯요..구글링 해보면 답 나오실듯 .. Permission denied to access property "reload"

 ..