Javascript ajax提供的Laravel5返回视图-我的方法是否有问题?

Javascript ajax提供的Laravel5返回视图-我的方法是否有问题?,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,我一直在学习Laravel,并通过Mindspace在Youtube上的一系列教程建立了一个社交网络。我已经扩展了基本站点,包括带有图像和视频以及其他内容的帖子。在此过程中,我将最初的createpost更改为数据的ajax post,并希望更新提要,但似乎找不到通过阅读文档(稍微)和谷歌搜索来实现返回视图的方法。然而,我想到了这个想法: 我的ajax调用发送post和所有信息,postController.php将它们存储在数据库中,然后回调是一个Laravel返回视图,如下所示: retur

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

我的ajax调用发送post和所有信息,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");
..
});

这有点老套,但你的思路是对的。我个人希望响应是一个带有新post数据的JSON对象,并使用它将新post附加或前置到您希望将其添加到的任何容器中。哦,是的,我从未想过这一点。我之所以这么问,主要是因为我更愿意学习编写正确的代码,而不仅仅是编写任何有效的代码。