我在GOOGLE先生上搜索但没有运气,我想用ajax加载页面内容。我需要部分渲染两个部分,
这是我的代码。
JS代码:
$.ajax({
method: 'POST',
type : 'POST',
url : main_path+'/homeservices/getData_Map',
beforeSend: function(){
$(".se-pre-con").fadeIn("slow");
},
data: {'_token': $('meta[name=_token]').attr('content')},
success : function(data)
{
$('#map_hs').html('');
$("#map_hs").html(data['map_data']);
$('.list_overmap').empty();
$('.list_overmap').html(data['list_data']);
}
});
这是我的控制器代码
public function getData_Map() {
$input = Request::all();
if(Request::isMethod('post') && Request::ajax()) {
$hs_list = $this->services_list->getHomeServices();
$returnHTML = view('homeservices.mapcontents')->with('servicesMap', $hs_list)->render();
$returnHTML_list = view('homeservices.listcontents')->with('servicesList', $hs_list)->render();
return response()->json(array('success' => true, 'map_data'=>$returnHTML,'list_data'=>$returnHTML_list));
}
}
我有这些文件
这是我的视图文件
@extends('layouts.homeservices')
@section('content')
<div class="list_overmap"></div>
<div id="map_hs" ></div>
@endsection
现在,有不同的css&amp;每个部分文件的js文件。例如,地图视图有两个额外的文件
<link rel="stylesheet" href={{URL::asset('css/lightslider.css')}}"/>
<script src="{{URL::asset('public/src/js/lightslider.js')}}"></script>
现在我的代码给了我错误
.lightSlider is not a function
所以我的问题是
注意:请帮我解决我的问题,在此之前我花了太多时间寻找解决方案。
答案 0 :(得分:0)
我自己才发现这一点,所以不要引用我,但我相信......
@yield&amp; @section - 将@yield放在您想要在视图中使用@section的布局中,您想要从中呈现内容。 您只能在任何扩展它的视图中使用@section一次
即。布局(我通常如何去做)
<!DOCTYPE html>
<html lang="en">
<head>
@yield('styles')
</head>
<body id="app-layout">
@yield('content')
@yield('scripts')
</body>
</html>
即。儿童观点
@extends(app/layout)
@section('styles')
@stop
@section('section')
@stop
@section('scripts')
@stop
@stack&amp; @push - 以同样的方式工作,但根据我的经验,可以从任何扩展布局的视图中多次调用@push。
即。布局
<!DOCTYPE html>
<html lang="en">
<head>
@stack('styles')
</head>
<body id="app-layout">
@yield('content')
@stack('scripts')
</body>
</html>
即。儿童观点
@extends(app/layout)
@push('styles')
@endpush
@section('section')
@include('partial')
@stop
@push('scripts')
@end
即。部分
<h1> Map HTML that you are creating partial for </h1>
<div class="list_overmap"></div>
<div id="map_hs" ></div>
@push('styles')
<link rel="stylesheet" href={{URL::asset('css/lightslider.css')}}"/>
@endpush
@push('scripts')
<script src="{{URL::asset('public/src/js/lightslider.js')}}"></script>
@end
不确定这是否是最好的方法,但这也是在类似情况下帮助我的原因。