2014-03-12 2 views
0

저는 codeigniter의 컨트롤러에 대해 ajax 호출을해야하는 프로젝트를 진행하고 있습니다. 로컬 사이트는 잘 작동하지만 웹 호스트 (Versio)에 업로드 한 후에는 작동이 중지됩니다.Codeigniter - Ajax 요청, 컨트롤러가 있지만 404가 검색됩니다.

아약스 호출이 컨트롤러를 찾은 것처럼 보이지만 어쨌든 404 오류가 발생합니다. 컨트롤러를 실제로 찾은 이유는 AJAX 요청이 URL을 변경하면 표준 CodeIgniter 404 페이지 대신 다른 404 페이지가 표시되기 때문입니다.

var baseURL = "http://sitename.com/index.php/"; 

    $.ajax({ 
     type: "POST", 
     url: baseURL+"Encounter/startEncounter", 
     dataType: "json", 
     cache: false, 
     success: function(data) { 
      alert(data); 
     } 
    }); 

내 설정 파일은 다음과 같습니다 :

내 요청은 다음과 같습니다

$config['base_url'] = 'http://'.$_SERVER['SERVER_NAME'].'/'; 

$config['index_page'] = ''; 

$config['uri_protocol'] = 'AUTO'; 

XSS 필터링이 켜져 있고 CSRF가 꺼져 있습니다.

내 기본 컨트롤러는 잘로드하는 다음과 같습니다

$route['default_controller'] = "index"; 

내 htaccess로 파일이 현재 비어 있습니다.

시간 내 주셔서 대단히 감사합니다. 누군가가이 문제에 도움을 줄 수 있기를 바랍니다. 이전에 발견 한 해답은 결과가 없었습니다.

는 감사 너의, 닉

+0

Encounter 컨트롤러의 startEncounter 메서드는 어떤 모양입니까? – Sam

+0

경로 $ route [ 'Encounter/startEncounter']를 (를) 설정 하시겠습니까? – aseferov

+0

서버에 업로드했거나 이전에 js 코드에'baseURL'을 추가 했습니까? – anurupr

답변

1

당신은 크로스 기원 아약스 호출을 허용하는 헤더를 추가 할 필요가 다음 index.php

header('Access-Control-Allow-Origin: *'); 

.

+0

이런 소리가 잠재적으로 보안 문제를 일으킬 수 있습니까? 또한 현재 액세스 제어 허용 원본 오류가 발생하지 않습니다. – Nick

+0

죄송 합니다만, 액세스 제어 및/또는 인증 시스템을 추가 할 수있는 도메인을 분명히 제어 할 수 있습니다. 이것이 각 앱마다 다른 IP가 있기 때문에 대부분의 모바일 앱이 작동하는 방식입니다. –

관련 문제