Как сделать AJAX-запрос и ответить laravel? - PullRequest
0 голосов
/ 14 октября 2019

Мой метод ничего не возвращает, когда я делаю vardump. Мне нужно получить ресурс и показать модальный, но я не получаю ответ от AJAX, нет метода return AJAX

$.ajax({
    type: "POST",
    url: "/modalAjax",
    data: "id=" + obj.id,  
    dataType: 'json',
    success: function() {
        $('#modalEdit').modal('show');
    },
    error: function() {

    }
});

CONTROLLER

public function modalAjax(Request $request) {        
    var_dump($request); 
    die();
    return Response::json($request);        
}

Ответы [ 2 ]

1 голос
/ 14 октября 2019

Предполагая, что у вас есть настройки вида, подобные этой

{{-- Add a CSRF token --}}
<meta name="csrf-token" content="{{ csrf_token() }}">
{{-- Just to avoid Vue console warning --}}
<div id="app"></div>
{{-- Include the JQuery library --}}
<script src="/js/app.js"></script>
<script>
    // add csrf header to all Ajax requests
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    var obj = {id: 1}; // Just an example when reproducing
    $.ajax({
        type: "POST",
        url: "/modalAjax",
        data: "id=" + obj.id,
        dataType: 'json',
        success: function(data) {
            console.log(data); // Do anything with the data here
            $('#modalEdit').modal('show');
        },
        error: function() {
        }
    });
</script>

И такой маршрут

// HomeController is just an example, link to your own
Route::post('/modalAjax', 'HomeController@modalAjax');

Вы можете получить доступ к данным запроса в вашем контроллере следующим образом

public function modalAjax(Request $request)
{
    // Do something with $request->id
    return response()->json([
        'id' => $request->id
    ]);
}

Теперь он вернет полученный идентификатор как есть, не знаю, что вы хотите с ним сделать ¯ \ _ (ツ) _ / ¯

Теперь вы получите это вконсоль и модал начальной загрузки должны показать

{"id":"1"}

Надеюсь, это поможет

0 голосов
/ 14 октября 2019

я думаю, что вы должны поместить функцию (data) в вызов ajax для получения таких данных, как

  $.ajax({
            type: "POST",
            url: "/modalAjax",
            data: "id=" + obj.id,  
            dataType: 'json',
            success: function(data) {
 // data is your response
                $('#modalEdit').modal('show');

            },
            error: function() {

            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...