json回调时不更改Jquery数组

时间:2011-10-27 16:01:17

标签: php jquery

我想在触发click事件时将arr1值更改为arr2值(test.php)。但是,以下代码存在错误。

有没有人能帮助我?谢谢!

$(function(){
               var arr1 = ["apple","banana","orange"];

               $("input").click(function(){
                   $.ajax({
                          type:"post",
                          url:"test.php",
                          cache:false,
                          success: function(data) {
                                arr1 = data;
                              }
                          });
                });

    });

------- test.php的---------------------------------- ------

<?php   
    echo $arr2 =array("Saab","Volvo","BMW","Toyota"); 

?>

3 个答案:

答案 0 :(得分:0)

您不会操纵相同类型的数据!你需要json_encode你的php数组

echo json_encode($arr2);

以便在JS函数中将其作为数组获取

答案 1 :(得分:0)

你不能只是呼应。这是你可能想要做的事情

$arr2 = array("Saab", "Volvo", "BMW", "Toyota");
echo json_encode($arr2);

然后在Javascript方面,使用$.getJSON()

答案 2 :(得分:0)

您需要使用JSON将复杂对象传输到javascript。在php中,您使用json_encode对数组进行编码,如下所示:

<?php
    $arr2 = array("Saab","Volvo","BMW","Toyota");
    echo json_encode($arr2);
?>

然后你必须告诉jquery使用dataType: 'json'在json中说话,如下所示:

$.ajax({
    type: "post",
    url: "test.php",
    dataType: "json",
    cache: false,
    success: function(data) {
        arr1 = data;
    }
});