2011-08-09 7 views
1

왜 여기서 var_dump가 작동하지 않습니까? ajax 호출은 성공적이지만 아무 것도 인쇄되지 않으며 PHP의 문자열 리터럴 인쇄조차되지 않습니다.Codeigniter echo/var_dump가 작동하지 않습니다.

내 컨트롤러

function check_links() {    
    $matches = $this->input->get('matchesJSON');   
    var_dump($matches); 
    //$this->load->view('publish_links_view'); 
} 

Ajax 호출

$.ajax({ 
    type: 'GET', 
    dataType: 'json', 
    cache: false, 
    data: 'matchesJSON='+matchesJSON, 
    url: 'publishlinks/check_links', 
    success:      
    function(response) { 

    } 
})  
+0

Ajax를 사용할 때는 http://www.firephp.org/와 같은 도구를 사용하여 응답 텍스트를 엉망으로 만들지 않고 클라이언트에 로깅 메시지를 보냅니다. –

답변

5

당신이 그것을 브라우저를 위해서 var_dump를 기대한다고 가정.

Ajax는 "배경 화면"에서 발생하므로 브라우저에 출력되지 않으므로 success 처리기의 response 인수에 포함됩니다.

브라우저를 사용하여 URL을 직접 테스트 해보고 싶다면 테스트 해보십시오.

http://ciroot/index.php/publishlinks/check_links?matchesJSON=test%20text 

또한,이 같은 상황에서 매우 유용 브라우저 확장 Firebug, 귀하의 AJAX 요청/응답을 모두 모니터링 할 수 있습니다.

+2

firebug/chrome dev 도구를 사용하여 AJAX 응답을 확인할 수 있습니다. –

+0

예, 방화 광구가 아약스 요청/응답을 표시합니다. – jondavidjohn

+0

감사합니다. Chrome 개발자 도구가 내 작업 영역의 공식 부분이되었습니다. :) –

0

dataType: 'json' 제거하지 CodeIgniter의

시작으로, 당신의 Ajax 호출에 문제가있는 것 - 그것은

를 JSON 아니에요으로 jQuery를 콘텐츠 자체의 유형을 발견하고 당신은 출력 응답 할 필요가 당신의 함수 :

function(response) { window.alert(response) } 
관련 문제