Как вернуть представление, а также вернуть ответ json в Laravel? - PullRequest
0 голосов
/ 21 июня 2020

Я пытаюсь вернуть и представление, и ответ json.

return view('website.ajaxcart.cart-list', compact('cartProducts'));
return response()->json([
    'status'=>"success",
    'message' => "Product added to Cart"
]);

Пытался соединить эти два вот так:

return view('website.ajaxcart.cart-list', compact('cartProducts'))->response()->json([
    'status'=>"success",
    'message' => "Product added to Cart"
]);

Но не работает. .. Это вообще возможно?

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

JSON - это текст, написанный с использованием J ava S cript O bject N otation. У него свой формат. Таким образом, когда вы делаете sh что-нибудь в ответе json, вы нарушаете этот формат.

Вы можете передать массив в качестве ответа json. Так что создайте массив на основе ваших данных и используйте его, например:

$user= User::all()->toArray();
$post= Post::all()->toArray();
return Response::json(array('user' => $user, 'post' => $post));

Итак, в вашем коде просто передайте его как массив вместо JSON:

$data = [
    'status'=>"success",
    'message' => "Image deleted"
];

return view('website.ajaxcart.cart-list', compact('cartProducts', 'data');
0 голосов
/ 21 июня 2020

попробуйте это,

  return redirect('website.ajaxcart.cart-list', compact('cartProducts'))
  ->with('success', 'Profile updated!');

В файле blade-сервера

@if (session('success'))
    <div class="alert alert-success">
        {{ session('success') }}
    </div>
@endif

пожалуйста, от go до laravel документации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...