Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Jquery数组不是';当json回调时,没有更改_Php_Jquery - Fatal编程技术网

Php Jquery数组不是';当json回调时,没有更改

Php Jquery数组不是';当json回调时,没有更改,php,jquery,Php,Jquery,我希望在触发click事件时将arr1值更改为arr2值(test.php)。但是,以下代码中存在错误 有人能帮我吗?谢谢 $(function(){ var arr1 = ["apple","banana","orange"]; $("input").click(function(){ $.ajax({ type:"post",

我希望在触发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"); 

?>

您不能操作相同类型的数据!您需要对php数组进行json_编码

echo json_encode($arr2);

为了在JS函数中将其作为数组提取,您不能只进行echo。这就是你可能想要做的

$arr2 = array("Saab", "Volvo", "BMW", "Toyota");
echo json_encode($arr2);
然后在Javascript方面,使用。

您需要使用将复杂对象传输到Javascript。在php中,您可以使用以下代码对数组进行编码:

<?php
    $arr2 = array("Saab","Volvo","BMW","Toyota");
    echo json_encode($arr2);
?>
$.ajax({
    type: "post",
    url: "test.php",
    dataType: "json",
    cache: false,
    success: function(data) {
        arr1 = data;
    }
});

单凭这一点是行不通的,毕竟这只是一根绳子。您仍然需要对其进行解码。只需在JS端添加数据类型:“json”以确保您的Operate json返回,并且它已经是success函数中准备进行操作的数组
getJSON()
在这里的一般情况下不起作用。对于他的“test.php”来说,它会的,但这只是一个例子。看起来他是在发出一个
POST
请求,而不是
GET
请求
getJSON()
只执行
GET
请求。您必须在这里将
ajax()
dataType:'json'
一起使用。虽然可能是这种情况,但在这种情况下使用
POST
是否有意义仍然值得怀疑,不是吗?这只是请求一个资源。在本例中,您不会使用POST,但我假设这只是一个最小的测试用例。如果实际情况是GET,则任何一种方法都可以工作。自复制