Получение значения из запроса в Laravel с использованием ajax - PullRequest
0 голосов
/ 16 июня 2019

У меня есть этот метод ajax в PostsController

public function ajax(Request $request)
    { 

        //dd($request);
        $this->authorize('view', Post::class);

        $posts = Post::orderBy("created_at","desc")->paginate(5);
        $comments = Comment::all();

        return response()->json(array("posts"=> $posts, "comments"=> $comments), 200);

    }

, который прекрасно работает, когда вы просто получаете данные и отправляете их. Поэтому я попытался, кроме запроса данных по ajax, отправить некоторые данные вместе с запросом ajax. Как я могу получить доступ к этим данным внутри контроллера?

Вот метод, который находится внутри определенного клинка:

function ajax(){

  let var1 = "gg";
  let var2 = "bruh";
  let token = document.querySelector("meta[name='csrf-token']").getAttribute("content");
  let url = '/posts';

  $.ajax({
    type: "POST",
    url: url,
    headers:
        {
            'X-CSRF-TOKEN': token
        },
    data: {
        'var1': var1,
        'var2': var2
    },
    success: function(data) {
        console.log(data);
    }
  });         

}

Чтобы упростить: как i, dd () или dump () могут передавать данные (var1 и var2) с помощью функции ajax из blade-модуля в PostsController?

Вот маршрут:

Route::post('/posts', "PostsController@ajax");

А вот некоторые "тарабарщины", когда я пытаюсь dd () это: gibberish

Ответы [ 2 ]

2 голосов
/ 16 июня 2019

dd() - функция laravel и dump() для php.поэтому вы не можете использовать их из javaScript.

Вы не можете dd() or dump() из прямого запроса ajax или JavaScript.

То, что вы можете сделать, это console log your data или проверить из browser developer portion, network tab, чтобы увидеть, какие данные вы получаете из ответа ajax.Вы можете найти часть браузера для разработчиков,

для Chrome:

Insepect > Network 

для Mozila:

Insepect Element > Network 

Если вы говорите о get var1 и var2 на контроллере вы можете просто получить их по $request->var1 и $request->var2.

0 голосов
/ 16 июня 2019

Хасан05 был прав.Просто нужно было знать правильное направление.Таким образом, чтобы получить параметр данных запроса ajax, я изменил метод контроллера ajax:

public function ajax(Request $request)
    { 
        $var1 = $request->input('var1');
        $var2 = $request->input('var2');

        $this->authorize('view', Post::class);

        $posts = Post::orderBy("created_at","desc")->paginate(5);
        $comments = Comment::all();

        return response()->json(array("posts"=> $posts, "comments"=> $comments, "var1"=> $var1, "var2"=> $var2), 200);

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