Laravel @include通过ajax的刀片视图

Cow*_*irl 4 javascript ajax jquery laravel blade

我有一个@include一些内容的页面,我想@include使用ajax请求的刀片视图文件.我该怎么办

基本上,视图文件将从服务器获取项目,

**price.blade.php**
@foreach ($items as $item)
<div class="item-post">
  <div class="priceofitem">{{ $item->price }} </div>
Run Code Online (Sandbox Code Playgroud)

我想在我的标签部分中包含@include('price.blade.php')

<ul class="tabs">
<li><a href="#tab1">Prices </li>
<div id="tab1">@include('price.blade.php')</div>
Run Code Online (Sandbox Code Playgroud)

我不希望在加载时自动包含该视图文件,因为我不想加载该选项卡的内容,除非用户点击它,如果用户想要价格而不是用户点击该选项卡,以及AJAX请求将被发送以包含该文件.

希望我明确表示,如果你不理解我,请告诉我.

手指交叉

Dhi*_*raj 9

你想要的东西

$(document).ready(function() {
    $("#tab1").click(function() {
        $.ajax({
            type: 'POST', 
            url : "/yourrouteview", 
            success : function (data) {
                $("#tab1").html(data);
            }
        });
    });
}); 
Run Code Online (Sandbox Code Playgroud)

您的控制器和路由必须配置/ yourrouteview以获取正确的视图(即@include('price.blade.php')


May*_*eyz 5

发出 ajax 请求并从控制器函数返回视图,例如:

return view('your_view');
Run Code Online (Sandbox Code Playgroud)

在 ajaxsuccess函数中,将其附加到您想要的位置,例如:

success: function(response){
    $('#Id').html(response);
}
Run Code Online (Sandbox Code Playgroud)

流程类似于:

$('#tab').click(function(){
    // ajax call here
    ...
    success: function(response){
        $('#Id').html(response);
    }
});
Run Code Online (Sandbox Code Playgroud)

控制器:

function funcName()
{
    // Do what ever you want
    return view('your_view');
}
Run Code Online (Sandbox Code Playgroud)