Не могу декодировать JSON с Javascript до PHP - PullRequest
0 голосов
/ 02 марта 2020

Я передаю JSON из javascript в PHP внутри ajax вопроса. Json это (напечатано из PHP, без json_decode):

[{"id":"440","step":"1","pass_rules":{"manual":false,"check_percent":true,"quiz":false,"list_element":["id1"]}},{"id":"438","step":"2","pass_rules":{"manual":false,"check_percent":true,"quiz":true,"list_element":["id1"]}}]

передается через ajax:

    var formData = new FormData(this);   
    formData.append('array', JSON.stringify(fullArray));

    $.ajax({
            type: "POST",
            url: URL_API + "/call_to_api",
            data: formData,
            cache: false,
            contentType: false,
            processData: false, 
            success: function (json) {
            //code 
         }
       })

Если получить массив таким способом из PHP, я могу напечатать json, как json поверх поста

 $array = mysql_real_escape_string($_POST['array']); 

json_decode не работает с элементом, и вывести пустой. Я не понимаю, почему!

ОБНОВЛЕНИЕ: массив передается внутри формы следующим образом:

array: [{"id":"441","step":"1","pass_rules":{"manual":false,"check_percent":true,"quiz":false,"list_video":[]}},{"id":"438","step":"3","pass_rules":{"manual":false,"check_percent":true,"quiz":true,"list_video":[]}}]

json_last_error () вызывается здесь:

$array= json_decode($_POST['array']); 
json_last_error();

json_last_error возвращает 4, поэтому JSON_ERROR_SYNTAX ... но JSON кажется хорошим: /

UPDATE2: вывод var_dump:

string(388) "[{"id":"441","step":"1","pass_rules":{"manual":false,"check_percent":true,"quiz":false,"list_video":[]}},{"id":"438","step":"3","pass_rules":{"manual":false,"check_percent":true,"quiz":true,"list_video":[]}}]"
...