admin.php返回status 0,使用Laravel-Admin遇到的问题

下面是我在控制器中写的添加方法

public function store(Request $request)

{

$data = $request->all();

$result = VenueRepositories::addVenue($data);

if($result['status'] == 0){

return Response::Json(['status'=>0, 'message'=>'添加场馆失败']);

}

return Response::Json(['status'=>1, 'message'=>'添加场馆成功']);

}

当返回Response时 就会报错:

Argument 1 passed to Encore\Admin\Middleware\PjaxMiddleware::filterResponse() must be an instance of Illuminate\Http\Response, instance of Illuminate\Http\JsonResponse given, called in /Users/zhangchunbo/www/trpiao/vendor/encore/laravel-admin/src/Middleware/PjaxMiddleware.php on line 34 and defined

如果是直接返回数组

return ['status'=>1, 'message'=>'添加场馆成功'];

bVNeYS?w=567&h=202

PjaxMiddleware.php 如下

namespace Encore\Admin\Middleware;

use Closure;

use Illuminate\Http\Request;

use Illuminate\Http\Response;

use Illuminate\Support\Facades\Auth;

use Illuminate\Support\MessageBag;

use Symfony\Component\DomCrawler\Crawler;

class PjaxMiddleware

{

/**

* Handle an incoming request.

*

* @param Request $request

* @param Closure $next

*

* @return \Symfony\Component\HttpFoundation\Response

*/

public function handle($request, Closure $next)

{

$response = $next($request);

if (!$request->pjax() || $response->isRedirection() || Auth::guard('admin')->guest()) {

return $response;

}

if (!$response->isSuccessful()) {

return $this->handleErrorResponse($response);

}

$this->filterResponse($response, $request->header('X-PJAX-CONTAINER'))

->setUriHeader($response, $request);

return $response;

}

/**

* Send a response through this middleware.

*

* @param \Symfony\Component\HttpFoundation\Response $response

*/

public static function respond(\Symfony\Component\HttpFoundation\Response $response)

{

$next = function () use ($response) {

return $response;

};

(new static())->handle(Request::capture(), $next)->send();

exit;

}

/**

* Handle Response with exceptions.

*

* @param Response $response

*

* @return \Illuminate\Http\RedirectResponse

*/

protected function handleErrorResponse(Response $response)

{

$exception = $response->exception;

$error = new MessageBag([

'type' => get_class($exception),

'message' => $exception->getMessage(),

'file' => $exception->getFile(),

'line' => $exception->getLine(),

]);

return back()->withInput()->withErrors($error, 'exception');

}

/**

* Prepare the PJAX-specific response content.

*

* @param Response $response

* @param string $container

*

* @return $this

*/

protected function filterResponse(Response $response, $container)

{

$crawler = new Crawler($response->getContent());

$response->setContent(

$this->makeTitle($crawler).

$this->fetchContents($crawler, $container)

);

return $this;

}

/**

* Prepare an HTML title tag.

*

* @param Crawler $crawler

*

* @return string

*/

protected function makeTitle($crawler)

{

$pageTitle = $crawler->filter('head > title')->html();

return "

{$pageTitle}";

}

/**

* Fetch the PJAX-specific HTML from the response.

*

* @param Crawler $crawler

* @param string $container

*

* @return string

*/

protected function fetchContents($crawler, $container)

{

$content = $crawler->filter($container);

if (!$content->count()) {

abort(422);

}

return $this->decodeUtf8HtmlEntities($content->html());

}

/**

* Decode utf-8 characters to html entities.

*

* @param string $html

*

* @return string

*/

protected function decodeUtf8HtmlEntities($html)

{

return preg_replace_callback('/([0-9]+;)/', function ($html) {

return mb_convert_encoding($html[1], 'UTF-8', 'HTML-ENTITIES');

}, $html);

}

/**

* Set the PJAX-URL header to the current uri.

*

* @param Response $response

* @param Request $request

*/

protected function setUriHeader(Response $response, Request $request)

{

$response->header(

'X-PJAX-URL',

$request->getRequestUri()

);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值