Laravel получает данные от контроллера и отправляет для просмотра ajax - PullRequest
0 голосов
/ 10 мая 2019

Я пытаюсь получить данные с контроллера и отправить их в ajax. Сценарий находится в app.blade.php.

Контроллер

public function show()
{
    $number=Order::where('user_id',Auth::user()->id)->count();

    return $number;

}

Маршрут

Route::get('product_number', 'OrderController@show')->name('product_number');

JS

<script type="text/javascript">
$(document).ready(function(){

    $.ajax({
        type: "GET",
        url: "product_number",
        success: function (data) {
            console.log(data);
        },
        error: function () {
            console.log('Error');
        }
    });

});
</script>

В консоли это показывает мне представление HTML.

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Я считаю, что ваша ошибка происходит, потому что вы используете тот же маршрут, чтобы получить результаты

Я тестирую следующий код, и он работает.

Ваш файл web.php

//Is the route that you will type in your browser
Route::get('/showNumber', function () {
    return view('show');
});

//Ajax will request this route
Route::get('/product_number', 'UserController@show');

Ваш контроллер

public function show()
{
    $number=Order::where('user_id',Auth::user()->id)->count();

    //You must return an json response.
    return response()->json(['success' => $number]);
}

Ваш код Javascript

<script type="text/javascript">
    $.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
    $(document).ready(function(){
         $.ajax({
        url: '/product_number',
        type: 'GET', //is the default type
        dataType: 'json',
        success: function (data) {
            console.log(data);
        },
        error: function (data) {
            console.log(data);
        }
        });
    });

</script>

Вставьте свой HTML-тег

    <meta name="csrf-token" content="{{ csrf_token() }}">
0 голосов
/ 10 мая 2019

попробуйте это, чтобы вы могли получить ошибку

public function show()
{
    try {
        $number=Order::where('user_id',Auth::user()->id)->count();
    } catch (\Exception $e) {
        echo $e->getMessage(); die;
    }
    return $number;
}
$(document).ready(function(){

    $.ajax({
        type: "GET",
        url: "{{url('product_number')}}",
        success: function (data) {
            console.log(data);
        },
        error: function () {
            console.log('Error');
        }
    });

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