почему получать подмассив из $arr =jQuery.makeArray() строкового типа?

#jquery #json

#jquery #json

Вопрос:

  1. Я присвоил значение php переменной JS с помощью jQuery.parseJSON.
  2. После этого преобразуйте массивоподобный объект (например, cars) в настоящий массив JavaScript (например, carsArr) с помощью jQuery.makeArray() .
  3. Затем я хочу получить 1-й массив (т.Е.carsArr[0] ) переменной carsArr, который также должен быть типом массива.

Однако в окне оповещения отображается его строковый тип.

Итак, как я могу получить 1-й массив переменной carsArr? Спасибо!

 <?php
    $car1=array("Saab","Volvo","BMW");
        $car2=array("123","234","345");

        $cars = array($car1, $car2);
?>

<script type="text/javascript">
    $(function () {

        var cars =jQuery.parseJSON('<?php echo json_encode($cars); ?>');

        var carsArr =jQuery.makeArray(cars);

    var aCar = carsArr[0];

    alert(typeof(aCar));

    });
</script>
 

Ответ №1:

Похоже, вы выполняете javascript как присваивание переменных в PHP

Изменить $cars = array(car1, car2);

Для $cars = array($car1, $car2);