Получите файлы, которые сделаны для обработки ajax в laravel - PullRequest
0 голосов
/ 11 мая 2018

Я использую AJAX-запрос к другой странице в моем home.blade.php . У меня есть запрос AJAX следующим образом:

function getMessages(){
    $.post("public/ajax_handlers/get_messages.php",
    {
        user_id: "<?php echo \Session::get('user_id'); ?>",
    },
    function(data, status){
        alert("Data: " + data + "\nStatus: " + status);
    });
}

У меня есть файл .php в каталоге / public / ajax_handlers / , но при загрузке страницы появляется сообщение об ошибке:

POST http://localhost:8000/public/ajax_handlers/get_messages.php 404 (Not Found)

XHR failed loading: POST "http://localhost:8000/public/ajax_handlers/get_messages.php".

Когда я искал, я нашел некоторую информацию по той же теме, и там был контент, в котором говорилось, что мы можем использовать функцию laravel use или класс Storage, но я не очень хорошо это понял. Итак, как мне заставить .php быть запущенным?

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

Это то, что вам нужно сделать,

Добавить функцию в контроллер

public function getMessages(){
  $user_id = \Session::get('user_id'); // or use auth
  // Code

 //You don't have to use api.php for routing since you won't be able to access the session Directly
}

Добавить маршрут

Route::post('get-messages','ControllerName@getMessages')

, тогда это javascript

$.post("get-messages").then(function(response) {
   // handle response
})
0 голосов
/ 11 мая 2018

Вы должны добавить маршрут, на который хотите опубликовать свои данные, в routes/api.php. Смотри https://laravel.com/docs/5.6/routing#basic-routing

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