CI 묻고 답하기

제목 ajax 는 꼭 절대경로로 호출해야 하나요?
글쓴이 초보™ 작성시각 2016/07/19 15:27:09
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 27159   RSS

CI 컨트롤러에서 404 not found를 주네요.

 

        $('#userid').blur(function(){
            var checkid;
            checkid = $.trim(this.value);

            if (checkid!="")
            {
                $.ajaxSetup({dataType:"text",async:false,url:"./user/checkid",type:"POST",data:{"userid":checkid}});
                $.ajax({
                success:function(data){
                    alert(data);
                    if (data)
                    {
                        $('#help-userid').html("사용할 수 있는 아이디 입니다.");
                        $('#help-userid').addClass("help-success");                    
                    }
                    else
                    {
                        $('#help-userid').html("사용중인 아이디 입니다.다른 아이디를 입력하십시오.");
                        $('#help-userid').addClass("help-warning");                    
                    }
                },
                error:function (xhr, ajaxOptioins,thrownError){
                    console.log(xhr.status);
                    console.log(thrownError);
                    alert("확인중에 문제가 발생했습니다.\n관리자에게 문의해 주십시오.");
                    request=false;
                }
                });                
            }
});

url 부분을 절대경로로 주면 찾는데 저렇게 상대 경로를 주면 404 not found가 나오네요

지금 홈페이지를 sub 폴더에서 개발 하고 있거든요.

다른 사이트소스도 같이 있는 처지라 ㅜㅜ;;

모든 js를 찾아서 경로를 바꾸기도 애매하고여 --;;

뭔가 다른 방법이 없을까요 --?

 

 다음글 CI JavaScript 질문 (7)
 이전글 CI Php Short tag 질문 <?php ?... (8)

댓글

kaido / 2016/07/19 15:38:00 / 추천 0

1. 절대 경로가 아니여도 잘 됩니다.

2. 해당 경로 호출 확인해 보시면 분명 잘못된 주소를 호출 했음을 알 수 있을 것입니다.

3. 어느쪽이든 수정을 해야 합니다. 

 

파일 전부 불러다 놓고 일괄치환 하세요.

/ 2016/07/19 15:39:24 / 추천 0

저는 var action = '/' + mgf + '/pkg/setting/stayFormLists'; 요런식으로 쓰고 있어요.. 

mgf라는 전역변수 하나 만들어 놓고 재활용.. 이렇게 안하시려면 모듈화해서 쓰셔도 되고요..

/ 2016/07/19 15:40:11 / 추천 0
kaido님 2번은 ./ << 이부분인듯?
kaido / 2016/07/19 15:43:47 / 추천 0

@닉

네 그렇죠. 실험해보시면 ./ 이것의 의미는  [현재 주소에서] 입니다.

가령   http://cikorea.net/bbs/view/qna 이라면

http://cikorea.net/bbs/view/qna/user/checkid

이렇게 되는 겁니다.

[아마 맞을거에요. 저도 가끔 헷깔림]

가급적이면 url 파라메터 앞에는 base_url 을 집어넣고 작업 하세요.

한번 해두면 두고두고 고통 안 받습니다.

초보™ / 2016/07/19 16:09:02 / 추천 0

@닉 @kaido 님 모두 감사드립니다.

일단은 js 전역 변수 하나 만들어서 해결했습니다.