Конвертировать JS значение в PHP массив или объект - PullRequest
0 голосов
/ 18 апреля 2020

js code output : "feesCode":"[26,501,502]"

После JS вывод является строковым типом данных. Но для выполнения дальнейших работ. Мне нужно преобразовать это в PHP массив или объект.

js : 

var $inputs = $('#collection-form :input');
    var values = {};
    $inputs.each(function() {
        values[this.name] = $(this).val();
    });

    $.ajax({
        headers: {
          'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        },
        type: "POST",
        url:  "/make-collection",
        data: {data : values}
    });

Controller.php


public function createCollection(Request $request)
    {
        $inputs = $request->all();
        if(is_array($inputs['data']['code'])){
            echo 'True';
        }else{
            echo 'False';
        }
}

Выход: False. *

Как получить вывод в виде массива в PHP?

Ответы [ 3 ]

0 голосов
/ 18 апреля 2020

попробуйте так

 public function createCollection(Request $request)
  {
  if(is_array($_POST['data'])){
    echo 'True';
   }else{
    echo 'False';
 }
}
0 голосов
/ 18 апреля 2020

Я использовал json_decode(), чтобы решить мою проблему.

0 голосов
/ 18 апреля 2020

Я предполагаю, что это происходит потому, что входное значение является строкой. Вам нужно пройти через входное значение и сделать из него массив. Попробуйте это

const array = this.val().split(',').reduce((acc, rec) =>, [...acc, rec] [])
value[this.name] = array;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...