2017-03-08 1 views
0

PHP 페이지를 호출하는 JavaScript 페이지가 있습니다.ajax 호출에서 전체 페이지가 아닌 결과 만 표시하는 방법

$.getJSON('result.php', function(json){ 
    var data = json.result[0]; 
}).complete(function(){   
// do this 
}).error(function(jqXHR, textStatus, errorThrown) {   
// do this 
}); 

이것은 제공)합니다 (설정 페이지에서

require_once('config.php'); 

header("Content-type: application/json; charset=UTF8"); 
$apiMgr = new API(0, 0, array("result")); 
$apiResult = $apiMgr->callAPI('GET', 'result', isset($_SERVER['PATH_INFO']) && $_SERVER['PATH_INFO'] == '/historical' ? '?option=follow' : null, null); 
echo $apiResult; 

내가

<script> 
    // script 
    // script 
    // script 
    // script 
</script> 

문제 때라도 같은 일부 자바 스크립트를 추가 한 것처럼 result.php는 $ .getJSON 인 모습입니다 왜냐하면 result.php의 전체 응답에는 존재해서는 안되는 스크립트 부분이 포함되어 있기 때문입니다.

전체 페이지가 아닌 $ apiResult 만 표시하거나 반향시키고 싶습니다. 내 문제를 설명했으면 좋겠다. 분명히하지 않으면 더 설명하려고 노력할 것이다.

제안 사항?

답변

0
echo $apiResult; 
exit(); 

당신은 당신은 단지 echo 문 앞에 헤더를 언급 할 필요가

+0

작동 바랍니다

echo json_encode($apiResult); 

하려고 JSON 에 에코 부분을 인코딩하지 않을 것을 알아낼하지만하지 않았다 작업. 나는 왜 궁금해하니? 내가 도대체 ​​뭘 잘못하고있는 겁니까? – Shaonline

0

버퍼링 헤더를 중지해야합니다. 또한 인쇄 후 스크립트 실행을 종료하십시오.

$apiMgr = new API(0, 0, array("result")); 
$apiResult = $apiMgr->callAPI('GET', 'result', isset($_SERVER['PATH_INFO']) && $_SERVER['PATH_INFO'] == '/historical' ? '?option=follow' : null, null); 

header("Content-type: application/json; charset=UTF8"); 
echo $apiResult; 
exit; 
+0

나는 그것을 시도했지만 여전히 작동하지 않는다 : ( – Shaonline

-1

스크립트 태그가없는 다른 config.php가 있어야합니다. 또는 config.php에 조건을 추가하고 스크립트 태그를 표시해야하는지 테스트하십시오. 귀하의 질문에서

 


    $.get('result.php', function(data){ 
     var data = json.result[0]; 
    }).complete(function(){   
    // do this 
    }).error(function(jqXHR, textStatus, errorThrown) {   
    // do this 
    }); 

    function callbackfunction(data){ 
     //do something 
    } 

    //in your result.php 

    require_once('config.php'); 

    $apiMgr = new API(0, 0, array("result")); 
    $apiResult = $apiMgr->callAPI('GET', 'result', isset($_SERVER['PATH_INFO']) && $_SERVER['PATH_INFO'] == '/historical' ? '?option=follow' : null, null); 
    echo ''; 
    echo 'callbackfunction('.$apiResult.')'; 
    echo ''; 

+0

내 설정 파일에이 스크립트 태그가 있어야한다. 이것은 중요한 스크립트이고 그것을 제거 할 여유가 없다. 출력에서 ​​이것을 어떻게 든 제외시키는 것이 좋다. – Shaonline

+0

문제는 $ .getJSON으로 요청을 보내면이 메서드는 json 형식의 텍스트 만 가져와야합니다. 스크립트 태그를 사용하면 헤더가 이미 보내지는 것이 불가능합니다. –

+0

다음과 같이 할 수 있습니다. ' error (function (jqXHR, textStatus, errorThrown()) {code} {code} {code} {code} {code} {code} {code} $ .get { 'result.php', function (data) { var data = json.result [0]) { }); 함수 콜백 함수 (데이터) { \t // 뭔가 수행$ apiResult = $ apiMgr-> callAPI ('GET');}}}}}}}}}}}}}}}}} , '결과', isset ($ _ SERVER [ 'PATH_INFO']) && $ _SERVER [ 'PATH_INFO'] == '/ 역사적'? echo 'callbackfunction ('. $ apiResult. ')'; echo '';'code' ('? option = follow': null, null); –

관련 문제