함께

2013-09-30 1 views
0

나는이 정의 (2.3.2) 모달 부트 스트랩이 부트 스트랩 모달 + CodeIgniter의 작업을 할 수 없습니다 내가 직접 액세스 브라우저를 사용하는 경우함께

public function methodname() { 
     $this->load->view('modalbody'); 
} 

: 로컬 호스트/myproject라는/index.php에/MYCONTROLLER/methodName로 내가 HTML을 얻을 수있는 컨트롤러 아무런 문제없이 버튼을 클릭하면 500 개의 내부 서버 오류가 발생합니다. 왜 그리고 어떻게 수정해야합니까?

모달이로드 될 때 편집 : 내 HTML이 '모달 - 바디'에 삽입 된 것을 볼 수 없습니다. 또한 좀 더 깊이 파고 (파이어 폭스 + 파이어 버그 사용) 오류가 발생했습니다 '요청한 동작이 허용되지 않습니다.' (Google 크롬을 사용하면 csrf_protection과 관련이있는 자세한 오류 메시지가 표시되지 않았습니다.이 사실을 설정했습니다). 그래서이 모달을 부를 때 나는 csrf 토큰 이름과 해시 (즉 $ this-> security-> get_csrf_token_name();을 사용하여)를 전달해야하지만 부트 스트랩 js 소스 코드, 데이터 원격 단순히 jQuery를로드 기능 호출 : 데이터를 수용하지 않고

.load(this.options.remote) 

을, 그래서 내가 어떻게 CSRF 토큰 이름과 해시를 통과하기 위하여려고하고있다 ????

+0

어디에서 500 오류가 발생합니까? 경위 님? 전체 페이지가 500 오류입니까? 모달이 전혀 나오지 않습니까? – stormdrain

+0

내 질문을 편집했습니다. 위를 참조하십시오. – Josh

+0

두보기에 모두 코드를 포함 할 수 있습니까? 또는 적어도 당신이하려고하는 것에 대한 자세한 내용. 여기에 게시 한 코드를 사용하여 문제를 재현 할 수 없습니다. CSRF가 켜져있어 페이지와 모달보기 모두에서 양식을 작성합니다. – stormdrain

답변

0

../ index.php를 ... 또는 시도 ../../의 index.php ... 모달 URL에 대한 ... 올바른 방향으로 나를 가리키는 위해 @stormdrain 모든 감사의

+0

경로가 맞습니다. – Josh

0

처음 여기에 이유가 있습니다.

내 js 파일에 'ajaxsetup'정의 (내 페이지에 여러 개의 아약스 호출이 있음) 유형이 'POST'입니다. 예 : 모달가 JQuery와로드 함수를 호출 할 때

$.ajaxSetup({ 
    url: 'index.php/page', 
      type: 'POST', 
      dataType: 'JSON' 
    }); 

그래서,이 유형의 값을 가져 와서 사용하는 대신 내 모달은 CSRF를 통과하지 않고 작동하지 않는 이유는 그래서 "후"사용 "GET" . ajaxsetup에서 'type : POST'를 제거했으며 CSRF 매개 변수를 전달하지 않고도 괜찮습니다.