Ajax 的 Laravel 5 返回视图 - 我的方法很笨拙还是很好


Laravel 5 return view by ajax - is my method hacky or good?

我一直在学习Laravel,并通过Mindspace在Youtube上的一系列教程来构建社交网络。我已经扩展了基本网站,以包括带有图像和视频以及其他内容的帖子。在此过程中,我将初始创建帖子更改为数据的 ajax 帖子,并希望更新提要,但似乎无法通过阅读文档(一点)和谷歌搜索找到返回视图的方法。但是,我想出了这个主意:

我的 ajax 调用发送帖子和所有信息,postController .php将它们存储在数据库中,然后回调是 Laravel 返回视图,如下所示:

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

这会将整个页面 HTML 发回,我认为我可以使用 Jquery 来做到这一点:

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

它就像一个魅力,并使用我所做的新帖子再次呈现整个页面。不过,我想知道,这被认为是一种"黑客"的做事方式吗?不过它确实非常出色...

您可以向 ajax 请求返回带有(或不带有)消息的 JSON 响应,如下所示:

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

然后,在我们的成功回调函数中,您可以将用户重定向到另一个页面或视图,如下所示:

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