2016-07-13 1 views
1

Я изучаю Laravel и проработал серию учебников по Youtube от Mindspace для создания социальной сети. Я распространил основной сайт, чтобы включить сообщения с изображениями и видео вместе с другими вещами. Во время этого процесса я изменил начальную запись создания как ajax-запись данных и хотел обновить фид, но не мог найти способ сделать обратный просмотр, прочитав документы (немного) и googling. Тем не менее, я пришел с этой идеей:Laravel 5 return view by ajax - мой метод хакки или хорош?

Мой Аякса вызов отправляет почту и всю информацию более, PostController.php сохраняет их в базе данных, а затем обратный вызов вид возврата Laravel, как показано здесь:

return redirect()->route('dashboard')->with(['message' => $message]); 

Это посылает всю страницу HTML обратно, что я думал, что я мог бы использовать Jquery, чтобы сделать это:

$('body').html(msg); 

Он работает как шарм и снова делает всю страницу, с новой должностью я сделал. Однако мне интересно, считается ли это «хакерским» способом делать что-то? Это действительно работает блестяще, хотя ...

+1

Это немного взломанный, но вы на правильном пути. Я бы лично получил ответ как объект JSON с новыми сообщениями и использовал его для добавления или добавления нового сообщения в любой контейнер, в который вы хотели бы добавить его. –

+0

О да, я никогда об этом не думал. Я в основном спрашиваю, потому что я предпочел бы научиться писать правильный код, чем просто все, что работает. – David

ответ

1

Вы можете вернуть ответ JSON вашего запроса АЯКСА с (или без) сообщениями, например:

return Response::JSON(['status' => 'successful', 'foo' => 'bar']); 

тогда, и в нашем успехе функции обратного вызова, вам может перенаправить пользователя на другую страницу или просмотреть, например, ниже:

$.ajax( 
.. 
success: function(data) { 
    window.location.replace("anotherURL"); 
.. 
});