2012-02-24 2 views
0

내 아약스 호출은 test.php의 배열에서 값을 반환하기를 원합니다.Ajax 호출에서 json_encoded 배열 만 출력하는 방법은 무엇입니까?

현재 아약스 호출은 PHP 파일에있는 모든 코드를 반환하고 있습니다.

어떻게 json_encoded 배열 만 반환 할 수 있습니까?

jQuery를 코드 :

var params = {'action': 'save' , 'id':5}; 
$.ajax({ 
    type: "POST", 
    url: "test.php", 
    data: params, 
    success: function(data) { 
     $.each(data, function (index, value) { 
      $('#menu_container a').eq(index).text(value); 
     }); 
    } 
}); 

test.php :

<?php 
    $array = array(); 
    $i = 0; 
    while ($i < $num) { 
     $f1 = mysql_result($result, $i, "Page"); 
     $array[] = $f1; ?> 

     <?php echo $f1; ?> 

     <?php $i++; 
    } 
?> 

</br> 
</br> 

<?php 
    echo json_encode($array); 
?> 

</body> 
</html> 
+0

을 PHP 파일에서 코드를 얻으면 AJAX 호출이 test.php 파일 내부의 텍스트를보고 있다는 것을 의미합니까? 그렇다면 웹 서버가 PHP를 실행하도록 구성되지 않은 것으로 들립니다. –

답변

1

간단하게 출력 생성 PHP 코드의 다른 모든 부분 제거 : 당신이있어 말할 때

<?php 
$array = array(); 
$i = 0; 
while ($i < $num) { 
    $f1 = mysql_result($result,$i,"Page"); 
    $array[] = $f1; 
    $i++; 
} 
echo json_encode($array); 
?> 
+0

감사합니다. 이제 PHP 파일의 유일한 출력은 다음과 같습니다. [ "Home", "test", "test1", "w", "home", "a"] 그러나 어떻게 각각 menu_container에 인용문 안의 값 태그? 현재 각 개별 문자를 태그에 삽입합니다. [ "H ome", – user1199649

+0

@ user1199649 :이 예제는 나를 위해 작동합니다 : http://jsfiddle.net/4GmJD/ –

+0

나는 나의 코드에 똑같은 짓을했는데, 그것은 잘 작동하지만, PHP에서 배열 코드를 얻을 때 파일은 같은 방법으로 출력되지 않습니다. 귀하의 예제에서와 같이 배열 값을 개별 데이터로 보는 것은 아닙니다. – user1199649

관련 문제