autocomplete Uncaught TypeError: Cannot use 'in' operator to search for 'length' in []

autocomplete Uncaught TypeError: Cannot use 'in' operator to search for 'length' in []

Hi,

this is my js:
  1. $('#autocode' + num).autocomplete({
                        source: function (request, response) {
                            console.log(request)
                            $.ajax({
                                method: 'POST',
                                url: '/retrieveProducts',
                                data: {
                                    term: request
                                },
                                success: function (data) {
                                    console.log(response(data));
                                    return JSON.parse(data)
                                },
                            });
                        },
                        minLength: 3,
                        select: function (event, ui) {
                            console.log(ui.item.value)
                            console.log(ui.item.id)
                        }
                    });
and this is my php:

  1. foreach ($products as $prod) {
                    $p['code'] = $prod->code;
                    $p['description'] = $prod->description;
                }
                return json_encode($p);
            }
            return redirect('login');
what am I doing wrong?
Thanks a lot