Laravel, ajax

0

Mam problem ze zwróceniem i pokazaniem danych w ajaksie

Route::get('/Show_Users', 'UsersController@Show_Users');
...
public function Show_Users(Request $r)
...
$users = DB::table('users')->where('name', 'LIKE', '%'.$r->search.'%')->get();
foreach ($users as $key => $user) 
    {
        $name.= $user->name;
        $id.= $user->id;
    }
return response(array('name'=> $name, 'id'=> $id), 200);

Następnie robię formularz, w którym wybieram różne dane w tym dane użytkownika, którego wpisuję i który wyszukuje się dynamicznie.


$('#search').on('keyup',function()
{
    $value = $(this).val();
    $.ajax
    ({
        type : 'get',
        url  : '{{URL::to('Show_Users')}}',
        data : {'search':$value},
        success:function(data)
        {
            var result = data.id + data.name;
            console.log(result);
        }
     });
})


Chciałbym osiągnąć coś takiego, żeby albo po naciśnięciu przycisku końcowego formularza przekazało do kontrolera data.id i data.name
albo jak robiłem w phpie wpisać w <select> <option value...="value..."> te dane i przekazać do kontrolera obsługującego dodanie danych do bazy.

Wiem też, że te dane są łańcuchami, czy da się przekazać je jako tablicę i wyłuskać jw.?

1

Możesz zwrócić response jako JSON (json_encode) i obrobić w ajaxie za pomocą $.parseJSON(response) (https://stackoverflow.com/a/8951858/5497893)
Możesz też zwrócić gotowy kod HTML (tabelkę czy jakąś inną strukturę) i wpiąć w kod strony (np. $("#div").html(response); ) (https://stackoverflow.com/a/17519439/5497893)

0

Dzięki, udało się :) temat rozwiązany.

1 użytkowników online, w tym zalogowanych: 0, gości: 1