我被困在一个地方了。我有一些小HTML sections的视图,当结合在一起时,提供完整的HTML页面。我正在尝试用Jquery构建一个Jquery,其中我有一个drop event,它添加了那些特定的views
例如,我有HTML For slideshow
<div id="slideshow" data-nitsid="2">
<div class="revolution-slider">
<ul>
<!-- SLIDE -->
@foreach($contents->slider as $sliders)
<li data-transition="{{ $sliders->transition }}" data-slotamount="{{ $sliders->slotamount }}" data-masterspeed="{{ $sliders->masterspeed }}">
<!-- MAIN IMAGE -->
<img src="{{ URL::asset($sliders->url) }}" alt="">
</li>
@endforeach
</ul>
</div>
</div>在我的JQuery代码中:
nitsbuilder.dropeventhandler = function ($item, $position) {
var nits_id = $item.data('nitsid');
$.ajax({
method: 'POST',
url: dropurl,
data: { nits_id: nits_id, _token: token},
dataType: 'json',
success: function (data) {
nitsbuilder.adder($item, $position, data);
}
});
}在我将html codes放在database中之前,可以更容易地取出html并添加到HTML页面,现在我有了html in views,我如何才能将这个HTML code或view转换为ajax request,以便执行通过控制器放置视图的nitsbuilder.adder函数。
我现在的Controller是:
class DropeventController extends Controller
{
public function htmlcode(Request $request)
{
$pluginid = $request['nits_id'];
$code = Plugins::findOrFail($pluginid);
$htmlcode = $code->code;
return response()->json(['htmlcode' => $htmlcode]);
}
}请引导我。谢谢
发布于 2016-08-04 08:41:01
您可以使用\View::make从刀片视图轻松地创建html字符串
让我们假设您有以下文件夹结构
现在可以创建接受"name“参数的路由/控制器,然后执行以下操作
$name = "snippetA"; // get this from parameters
$html = \View::make("snippets.$name")->render();您可能还需要根据视图添加变量。
$name = "snippetA"; // get this from parameters
$errors = []; // error variable might be needed
$html = \View::make("snippets.$name", compact('errors'))->render();然后,可以返回此html字符串。
return ['html' => $html];并从ajax完成的函数中访问它。
我希望这能帮到你
发布于 2016-08-04 08:38:05
假设您的html是名为abc.blade.php的视图文件,您可以在json中从您的控制器返回呈现的视图。
return response()->json([
'htmlcode' => View::make('abc')->render();
]);https://stackoverflow.com/questions/38761950
复制相似问题