【发布时间】:2019-06-24 05:05:27
【问题描述】:
我的系统中有一个部分视图,我将其包含在我的所有视图中,然后显示我可能来自控制器的任何闪存消息。我刚开始使用 jQuery 并动态地将记录插入到我的数据库中。
Allthrough 脚本有效(在别处找到并修改),我想更改加载 Flash 消息的方式,我不想在脚本部分的视图文件中指定它们,我想从我的控制器发送它们并加载我在其他页面上的部分视图。
我的脚本的一部分;
$('#submit').click(function () {
$.ajax({
url: postURL,
method: "POST",
data: $('#add_name').serialize(),
type: 'json',
success: function (data) {
if (data.error) {
printErrorMsg(data.error);
} else {
i = 1;
$('.dynamic-added').remove();
$('#add_name')[0].reset();
$(".print-success-msg").find("ul").html('');
$(".print-success-msg").css('display', 'block');
$(".print-error-msg").css('display', 'none');
$(".print-success-msg").find("ul").append(
'<li>New Project Space has been added</li>');
}
}
});
});
function printErrorMsg(msg) {
$(".print-error-msg").find("ul").html('');
$(".print-error-msg").css('display', 'block');
$(".print-success-msg").css('display', 'none');
$.each(msg, function (key, value) {
$(".print-error-msg").find("ul").append('<li>' + value + '</li>');
});
}
部分控制器
if ($validator->passes()) {
foreach ($request->input('label') as $key => $value) {
Space::create([
'label'=>$value,
'user_id' => $user,
'customer_id' =>$customer,
'project_id' => $projectid,
]);
}
return response()->json(['success'=>'done']);
}
return response()->json(['error'=>$validator->errors()->all()]);
部分部分
@if ($message = Session::get('success'))
<div class="alertcontainer" id="alertcontainer">
<div class="alert alert-success alert-block">
<button type="button" class="close" data-dismiss="alert">×</button>
<strong>{{ $message }}</strong>
</div>
</div>
@endif
【问题讨论】:
-
所以从控制器
return response()->json(['success'=>'This is the alert message']);发送它并在视图data.success -
...我想我应该改写我的问题,如何通过在我的视图中加载部分并使用此类脚本来显示这些消息(来自控制器)?
标签: jquery ajax laravel partial-views