2012-02-24 23 views
0

我想我的ajax调用只返回我的数组中的值test.php如何仅从Ajax调用中输出json_encoded数组?

目前ajax调用正在返回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文件中的文本?如果是这样,听起来像你的Web服务器没有配置为运行PHP。 – 2012-02-24 11:38:26

回答

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文件输出的只是:“主页”,“”,“测试”,“测试1”,“W”,“家”,“一”] 但是,我怎么可以插入每个价值内的报价进入menu_container 标签? 目前,它插入的每个个性到标记例如[“H OME”, – user1199649 2012-02-25 14:34:03

+0

@ user1199649:这个例子对我的作品:http://jsfiddle.net/4GmJD/ – 2012-02-25 20:15:47

+0

我做同样的我的代码,它工作正常,但是当我从我的PHP获得阵列码文件不会以相同的方式输出。它看起来并没有像你的例子那样将数组值看作单独的数据片段。 – user1199649 2012-02-26 13:40:58