猿问

如何在 Laravel 中返​​回 ajax 中的视图

我们在 Laravel 中使用 ajax 调用控制器。喜欢:


$.ajax({

  type: 'POST',

  url: "url/url/",

  data: {

    _token: '{{ csrf_token() }}',

    action: 'get-some-view',

    data: {}

  },

  success: function(data) {

    $("#container").html(data.html);

  }

});

我们希望在控制器上做这样的事情:


return response()->json( [ 'code' => 0, 'data' => view('viewname')->with('foo ', $foo ), 'msg' => 'YEH!' ] , 200);

但我们得到的回应是


Object { code: 0, data: {}, msg: "YEH" }

我们的预期输出是在视图中生成的 HTML。这可能吗?


慕的地6264312
浏览 224回答 3
3回答

烙印99

您需要渲染视图以获取 HTML。应该 -view('viewname')->with('foo ', $foo )->render()

Qyouu

render() 方法将为您提供原始 HTML。在这里查看方法查看

守着一只汪

view() 函数只是创建 View 类的一个实例。要呈现 HTML 字符串,请使用 render() 函数。$data = view('viewname')->with('foo', $foo)->render();return response()->json( [ 'code' => 0, 'data' => $data, 'msg' => 'YEH!' ] , 200);
随时随地看视频慕课网APP
我要回答