Можно ли в любом случае сгенерировать URL из ссылки javascript с именами маршрутов?от ответа Ajax в Laravel - PullRequest
0 голосов
/ 22 мая 2019

У меня есть функция поиска, и функция поиска дает клиенту ответ json, где я отображаю имена пользователей.Но я хочу добавить ссылку, чтобы мы могли перейти к конкретному пользователю, но вы генерируете данные из ответа json ajax в laravel, чтобы можно было обращаться к ним в блейде с помощью {{route('route.name',["id" => $id])}} вместо того, чтобы делать это с помощью jquery или javascript?потому что я генерирую href из javascript, так что есть ли возможность, как вы можете сгенерировать маршрутную ссылку, как это до сих пор?"<span class=\"border-bottom border-dark\"> <a href=\"insert link\" style=\"width:25vw;font-size: 1em;\">" + response.message[i].name + "</a></span><br>"; в том месте, где он вставляет ссылку, желаемая цель будет там, где он генерирует ссылку, подобную этой http://127.0.0.1:8000/user/profile/founduser/1 возможно ли это в любом случае или это невозможно сделать с помощью json Response?

Полныйjs:

 $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });

    $('#search_user_form_profile').on('keyup',function(){
        $value=$(this).val();
        $.ajax({
            method: 'POST',
            url: '{{route('user.profile.search')}}',
            data: {
                'data' :  $value
            },
            success: function(response){
                console.log(response);
                var html = '';
                for(let i = 0; i < response.message.length; i++)
                {
                    let tempHtml = "<span class=\"border-bottom border-dark\"> <a href=\"\" style=\"width:25vw;font-size: 1em;\">" + response.message[i].name + "</a></span><br>";
                    html = html + tempHtml;
                }
                console.log(html);
                $( "div.demo-container" )
                    .html(html);
            },
            error: function(jqXHR, textStatus, errorThrown) {
                console.log(jqXHR, textStatus, errorThrown);
            }
        });
    })

Контроллер, отправляющий ответ:

if(request()->ajax()){
        $input = Input::get('data');
        $user = User::where('name', 'LIKE', '%' . $input . '%')
            ->where('id', '!=', auth()->user()->id)
            ->get();
        return response()->json(['status' => 'success', 'message' => $user]);
    } else {
        return response()->json(['status' => 'fail', 'message' => 'an error occurred']);
    }

Редактировать:

Я пробовал это до сих пор дополнительно в ссылке вставки \"{{URL::to('/chat/find/user') }}/" + response.message[i].id + " \" чтосгенерируйте эту ссылку http://127.0.0.1:8000/chat/find/user/2, и я настроил и направил URL-адрес Route::get('/chat/find/user/{user}', 'ChatController@FindUser')->name('chat.find.user');, но когда я нажимаю на ссылку, он дает страницу 404

...