Codeigniter-PHP 코드로 서버에 Ajax 요청을하는 웹 응용 프로그램이 있습니다. Ajax 요청은 로컬 서버에서는 제대로 작동하지만 애플리케이션이 원격 서버에서 호스팅되는 경우에는 제대로 작동하지 않습니다. 콘솔 오류는 다음과 같습니다Ajax 요청은 원격 서버에서는 작동하지만 로컬 서버에서는 작동하지 않습니다. (Codeigniter 포함)
XMLHttpRequest cannot load http://localhost/CI-example/index.php/control/controlHome. Origin http://www.page.com is not allowed by Access-Control-Allow-Origin.
놀랍게도, 요청이 응답 서버에서 만들어진 것이 아니라. 캡처
AJAX_URL = "http://www.page.com/CI-example/site/index.php/control/controlHome";
그리고 다음 오류 : 또한 내가 함께 해봤
AJAX_URL = "http://localhost/CI-example/site/index.php/control/controlHome";
그러나 :
나는 Ajax 요청에 사용하는 URL은
POST http://www.page.com/webdom/site/index.php/control/controlHome 500 (Internal Server Error)
어떻게해야합니까?
편집 : www.page.com은 하위 도메인입니다. Ajax 요청에 하위 도메인을 사용하는 경우 일부 구성을 수행해야합니까?
그리고 폴더 조직은 다음과 같습니다 해당 페이지는 당신이 그렇게 액세스 제어-Allow- "라는 특수 헤더를 사용하여 수행 할 수 있습니다하지 않는 한
이/CI-example
---/application/controllers/control.php
---/system
---/site/js/ajaxRequest.js
'AJAX_URL = "/CI-example/site/index.php/control/controlHome"'을 사용해 보셨나요? AJAX는 내부 요청에만 유효하기 때문에 호스트 이름을 포함 할 필요는 없습니다. –
리디렉션이 가능합니까? 별도의 탭에서 URL을 호출하고 개발자 도구의 네트워크 탭을보십시오. – Thomas
@AustinMullins, 나는 그것을 시도했지만 오류는 질문의 마지막이다 – vicenrele