개발 Q&A

제목 ajax 사용시 url에 따른 오류
카테고리 JavaScript
글쓴이 정수리 작성시각 2017/05/24 13:20:08
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 14725   RSS

ajax를 사용하여 

아이디와 비밀번호 검증할려고 하는데

생각보다 잘되지 않아 글을 올리게 되었습니다.

 

제가 회사내 테스트서버에서 만들고 있습니다.

 

해당 테스트 페이지의 기본 url이

 

http://xxx.xx.xx.xx/~landcom

 

여기가 기본 document root폴더 입니다

 

이곳에 CI를 넣어두고 사용하고 있습니다

 

접속페이지는

http://xxx.xxx.xx.xx/~landcom/index.php/login_c

기본 접속페이지가 출력이 됩니다

ajax를 통해 아이디갑과 비밀번호를 검증할려고 

url:http://xxx.xx.xx.xx/~landcom/index.php/login_c/login_confirm

한후 시도해보니 500에러가 출력이 되더라구요 확인해보니

The action you have requested is not allowed.

이런 에러가 출력이 되더라구요;;

url에 '~'있어서 에러가 출력되는 것인가 해서 인코딩처리하여 해보아도 에러는 계속 출력이 되고

혹시나 해서 테스트켬 http://xxx.xx.xx.xx/~landcom 이렇게 해보니

에러 출력없이 ajax가 되더라구요;;

비록 응답으로 메인페이지가 출력이 되었지만

그래서 다시 

http://xxx.xx.xx.xx/~landcom/index.php

http://xxx.xx.xx.xx/~landcom/index.php/login_c/login_confirm

해보았는데도 The action you have requested is not allowed. 이에러가출력이 되네요 ㅜㅜ

도대체 무엇이 문제인지 모르겠네요 ㅜㅜ 찾아보아도 인코딩해서 보내라는 말밖에 없고 그것도 넘겨주는 값을 인코딩처리하여 넘기라는

글만 많네요...

또 특이한점

http://xxx.xx.xx.xx/~landcom 

했을 시  ajax가 정상적으로 되긴하는데 개발자도구에서 확인해보면 

 

POST ~landcom 301 Moved Permanently 

GET /~landcom/ 200ok

이렇게 두개가 출력이 됩니다

ajax type를 post로 해두었는데 GET으로 하나가 더 생기더라구요...

301 Moved Permanently 찾아보았는데 자료도 많지도 않네요

http://www.seo-korea.com/301-vs-302-redirect/

이곳의 자료를 읽어보아도 쉽사리 이해가 되지 않습니다.

 

혹시나 이게 문제 인것 일까요??

지금 테스트서버내에는 

하나의 서버에 여러개의 사이트가 있습니다

그래서 계정에 따라 doument root가 다릅니다

http://xxx.xx.xx.xx 했을 경우  A페이지

http://xxx.xx.xx.xx/~B B페이지

http://xxx.xx.xx.xx/~landcom 이것이 제가 landcom이라는 유저를 서버에 추가하고

테스트를 하는 곳입니다

A페이지에 접속하여 개발자도구에서 쿠키를 살펴보면

제가 http://xxx.xx.xx.xx/~landcom에서 CI 환경설정에서  session명을 land_session으로 주었는데

그세션이 있더라구요;;

서버가 하나이다보니 session을 공유하는 것인지;;

 

이거때문에 301이 뜨고 정상적인 ajax가 안되는것 일까요??

 

긴글 읽어주셔서 감사합니다

 다음글 date format() 에 대해 질문드리겠습니다. (1)
 이전글 outer조인시, on절에 가변적인 조건 추가시 어떻게... (5)

댓글

정수리 / 2017/05/24 13:48:30 / 추천 0

자제 해결하였습니다.

$config['csrf_protection'] = false;

변경해주니 잘되네요ㅎㅎ;