Laravel的send()
方法似乎只是回应内容,而不是其他内容。我从我的控制器调用内部函数,在某些情况下(ajax请求)需要发送json响应然后终止应用程序:
response()->json($data)->send();
之后我可能会使用简单的exit;
电话,但这不会是一次优雅的关机。
我之前的框架响应输出函数正在刷新缓冲区,回显响应并在结束时调用exit。
在Laravel 5.5中输出响应和退出的正确方法是什么?
简短的摘要,以便您了解我的情况。 请注意,这会缩短很多,只是为了让您明白我的观点:
控制器方法:
public function create( Request $request )
{
$uploads = new Helpers\Upload();
return view( 'page.create' )->withUpload($upload)->withForm( $this->form );
}
上传课程:
class Upload
{
public function __construct()
{
if (request()->ajax() && request()->server('key'))
{
$data = [];
// AJAX. Do some job, output json and exit
[..]
response()->json($data)->send();
exit; // current way of terminating, not graceful though
}
// No ajax, do the usual stuff, setup class and return string
[..]
return 'My string';
}
}
答案 0 :(得分:0)
使用return
终止函数并返回一些数据:
return response()->json($data);