在Javascript中检索PHP数组

时间:2015-05-08 17:14:10

标签: javascript php arrays ajax

我正在尝试获取PHP数组变量并将其保存在Javascript中。以下是我现在的情况。

array.php

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

jsarray.php

var temp_array = new Array();
   $.ajax({
      type: "POST",
      url: "array.php",
      cache: false,
      async: false,
      dataType: 'json',
      success: function(data){
          temp_array=data;
      },
      error: function(jqXHR, textStatus, errorThrown) {
        console.log(textStatus, errorThrown);
      }

   });

我无法获得PHP数组的价值。

如何解决此问题?

编辑:console.log(temp_array)只返回[]

编辑2:添加"错误"和console.log(textStatus,errorThrown)。

错误消息

SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
return window.JSON.parse( data + "" ); 

2 个答案:

答案 0 :(得分:0)

你JSON编码阵列服务器端,但你永远不会将它解码回数组客户端。 This可能有帮助。

答案 1 :(得分:0)

你的php脚本必须发送正确的http标头,告诉它正在发送json内容,就像这样(在回显之前):

$cars = array("Volvo", "BMW", "Toyota");
header('Content-Type: application/json');
echo json_encode($cars);