2014-04-17 2 views
0

내 응용 프로그램에 codeigniter를 사용하고 있으며 완벽하게 작동하는 jquery post 함수가 있습니다.jquery post SQL 결과가 아닌 렌더링 된 HTML 페이지를 반환합니다.

$.post('getticketstacktype', {ticketnumber:ticketnumber},function(result) { 
alert(result); 
} 

다른 편집 페이지에서 정확히 동일한 게시물 기능을 사용하고 있습니다. 이 페이지는 PHP로 미리 채워지고 올바르게 작동합니다.

내가 내 컨트롤러를 호출하는 같은 게시물을 사용, 나는 ticketnumber 값이 올바른지 확인했다

$.post('getticketstacktype', {ticketnumber:ticketnumber},function(result) { 
alert(result); 
} 

가 호출하는 컨트롤러의 기능은 다음과 같습니다이 올바르게 결과를 작동 지금

function getticketstacktype(){  
    if (isset($_POST['ticketnumber'])){ 
     $ticketnumber = $_POST['ticketnumber'];    
     $data = $this->wos_model->getticketstacktype($ticketnumber); 
     $this->output->set_content_type('application/json')->set_output(json_encode($data)); 
     } 
    } 

'7'이지만 내 편집 페이지에서 내 전체보기 페이지가 반환됩니다. so <html><head>......</html> hundereds of lines)

I cant figur 내 전체 페이지가 다른보기에서 작업 할 때 jquery 게시물의 결과로 반환되는 이유를 설명합니다.

두보기의 게시물 정보가 방화범 뚜껑과 동일하다는 것도 확인했습니다.

어떤 조언이 필요합니까? 언제나처럼.

+0

'$ .post' -'dataType : 'json'에서 지정해보십시오. –

답변

1

이것은 대개 치명적인 오류가 백엔드에서 발생한 경우 발생합니다. PHP에서 치명적인 오류가 발생하면 상자에 포함 된 오류 메시지를 표시하는 페이지를 구성합니다. jQuery는 의미있는 데이터로 해석하려고 시도하지만 실패합니다. Firebug 또는 Google 크롬 개발 도구에서이 응답을 볼 수 있다면 실제로 페이지를 렌더링 할 수 있음을 알 수 있습니다.

  • 오류가 백엔드 측에없는 것을 확인 서버에서 다시 전송 결과를 추적 할 수

    1. 사용 방화범 또는 구글 크롬 개발자 도구 중 하나
  • +0

    고마워, 나는 당신이 일반적으로 실패하고있는 php 오류를 볼 수 있지만 그것이 호출되는 함수 나 모델에 국한된다는 것을 이해한다. 이것은 호출이 만들어진 곳에서 현재 페이지를 렌더링합니다. – Smudger

    +0

    이상한, 컨트롤러가 요청을 현재 페이지로 리디렉션하지 않았는지 확인할 수 있습니까? – Beakal

    0

    난 당신이 필요하다고 생각 :

    헤더에서

    스크립트 태그에 정의

    var base_url = '<?php echo base_url() ?>'; //here we keep the base url in a variable to use in our js files 
    

    그런 다음 t을 포함 그는 js file 위의 아약스를 호출하는 줄 아래에 있으므로 위의 변수에 액세스 할 수 있습니다.

    는 이제 ajax function 요구 사항은 다음과 같이 변경합니다 :

    $.post(base_url+'controller_name/getticketstacktype/', {ticketnumber:ticketnumber},function(result) { //here if you see the absolute path to the funciton is given 
        alert(result); 
    } 
    

    은 또한 확인해야합니다 귀하의 불을 지르고의 net panel 당신이 가지고있는 경우 오류 console. 행운을 빌어 요. : D

    관련 문제