Отправка данных по Ajax на контроллер в Laravel 5.8 - PullRequest
1 голос
/ 07 мая 2019

У меня есть запрос Ajax. Вот код скрипта

<script>
$('#variant_model').change(function(){
  var value = $('select#variant_model').val();

  $.ajaxSetup({
    headers: {
      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
  });
  $.ajax({
    type:"POST",
    url: "showVariantModel",
    data: value,
    success: function(data){
      alert(data);
    }
  })

});
</script>

Когда я вставляю в свой web.php код

Route::post('/showVariantModel', function(){
	if(Request::ajax()){
		return var_dump(Response::json(Request::all()));
	}
});

Все выглядит хорошо, и я получаю ответ в своем предупреждении.

Но когда я хочу поместить все в контроллер, я получаю ошибку 500 в консоли

Ниже я добавлю свой код из моего web.php и контроллера.Каркас Laravel 5.8

//web.php
Route::post('/showVariantModel', 'VariantsController@checkAttribute');

//VariantsController.php
public function checkAttribute()
{
  if(Request::ajax()){

  return var_dump(Response::json(Request::all()));

} 

Кто знает, что я делаю неправильно, дайте совет ...

Обновление ошибки

https://i.stack.imgur.com/iDvvG.jpg

Благодарю Md.Sukel Ali. Я обновил свой контроллер.Не выглядит

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Variants;

class VariantsController extends Controller
{ 
  public function checkAttribute(Request $request)

    {

        if($request->ajax()){

        return response()->json($request->all());


        }

    }

}

  

Теперь все отлично работает.Спасибо.

Ответы [ 3 ]

2 голосов
/ 07 мая 2019

Закрывающий тег отсутствует

public function checkAttribute()
{
  if(Request::ajax()){
   return Response::json(Request::all());
  }
} 
0 голосов
/ 07 мая 2019

Вместо ослепления угадайте, что происходит под капотом ajax call.Я предлагаю вам узнать, как отлаживать ajax-запрос.

Перейдите в браузере, щелкните правой кнопкой мыши и осмотрите, затем перейдите на вкладку Сеть, после чего вы сможете увидеть свой запрос.Нажмите на ваш запрос, затем найдите вкладку ответа.Там вы можете найти именно то, что произошло.

public function checkAttribute(Request $request)
{
    if($request->ajax())
    {
        return response()->json($request->all());
    }
}
0 голосов
/ 07 мая 2019

Вам нужно добавить импорт в свой контроллер:

use Illuminate/Http/Request;
use Illuminate/Http/Response;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...