Javascript Jquery从LaravelBalde追加内容
我在laravel blade中有以下JavaScript代码Javascript Jquery从LaravelBalde追加内容,javascript,jquery,laravel,Javascript,Jquery,Laravel,我在laravel blade中有以下JavaScript代码 <script> function banUser(id) { $.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') } }); $.ajax({
<script>
function banUser(id) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
method: "PUT",
dataType: "json",
url: '{{URL::route('api.user.update ',['user'=>null])}}/' + id,
data: {
status: "banned",
}
})
.done(function(json) {
processBanJson(json);
});
}
function unbanUser(id) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
method: "PUT",
url: '{{URL::route('api.user.update ',['user '=>null])}}/' + id,
data: {
status: "registered",
}
})
.done(function(json) {
processBanJson(json);
});
}
function processBanJson(json) {
if (json.success) {
if (json.user.status == "banned") {
//The user was just banned
$('#alert-area').append('@include('backend.user._partials.alerts.user-banned')'.trim());
$('#Ban-User-' + json.user.id + '-btn').hide();
$('#Unban-User-' + json.user.id + '-btn').show();
} else {
//The user is no longer banned
alert("Unbanned User!");
$('#alert-area').append();
$('#Ban-User-' + json.user.id + '-btn').show();
$('#Unban-User-' + json.user.id + '-btn').hide();
}
} else {
alert("Error Occured");
}
$('#User-Status-' + json.user.id).html(json.user.status);
}
</script>
功能用户(id){
$.ajaxSetup({
标题:{
'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]).attr('content'))
}
});
$.ajax({
方法:“放”,
数据类型:“json”,
url:{{url::route('api.user.update',['user'=>null])}/'+id,
数据:{
状态:“禁止”,
}
})
.done(函数(json){
processBanJson(json);
});
}
功能解捆器(id){
$.ajaxSetup({
标题:{
'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]).attr('content'))
}
});
$.ajax({
方法:“放”,
url:{{url::route('api.user.update',['user'=>null])}/'+id,
数据:{
状态:“已注册”,
}
})
.done(函数(json){
processBanJson(json);
});
}
函数processBanJson(json){
if(json.success){
如果(json.user.status==“禁止”){
//该用户刚刚被禁止
$(“#警报区域”).append(“@include('backend.user._partials.alerts.user banked')).trim());
$('#Ban User-'+json.User.id+'-btn').hide();
$('#Unban User-'+json.User.id+'-btn').show();
}否则{
//用户不再被禁止
警报(“未绑定用户!”);
$(“#警报区域”).append();
$('#Ban User-'+json.User.id+'-btn').show();
$('#Unban User-'+json.User.id+'-btn').hide();
}
}否则{
警报(“发生错误”);
}
$('#User Status-'+json.User.id).html(json.User.Status);
}
我的…alerts.user-Banked刀片包含以下内容:
<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Alert!</h4>
<p>User Banned!</p>
</div>
×
警觉的!
用户被禁止
编译后,输出如下所示:
很抱歉
问题是,呈现的HTML如下所示:
...
if(json.user.status=="banned")
{
//The user was just banned
$('#alert-area').append(('<div class="alert alert-success alert-dismissable">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h4><i class="icon fa fa-check"></i> Alert!</h4>
<p>User Banned!</p>
</div>').trim());
$('#Ban-User-'+json.user.id+'-btn').hide();
$('#Unban-User-'+json.user.id+'-btn').show();
}
...
。。。
if(json.user.status==“禁止”)
{
//该用户刚刚被禁止
$(“#警报区域”)。追加(('
×
警觉的!
用户被禁止
)。trim());
$('#Ban User-'+json.User.id+'-btn').hide();
$('#Unban User-'+json.User.id+'-btn').show();
}
...
我知道,它需要成为所有一行,或逃脱。但我正试图找到一个干净的解决方案来转义,或者缩小警报视图中的内容,以便javascript在不转义实际视图文件本身的情况下有效。我需要将其放入一个包中。。。。但是,我认为我创造了一个解决方案; 如果有人能验证/改进,那就太好了 下面是我的processBanJson
$('#alert-area').append('@oneLine('backend.user._partials.alerts.user-banned')');
而它目前在my routes.php文件中;简单的扩展
/*
* Our Custom oneLine Blade Function
*
* Imports a blade, and minifies it into one line
*/
Blade::directive('oneLine', function($expression)
{
return "<?php echo implode(\" \",explode(\"\n\",\$__env->make($expression, array_except(get_defined_vars(), array('__data', '__path')))->render())); ?>";
});
/*
*我们的定制单线刀片功能
*
*导入刀片,并将其缩小为一行
*/
刀片::指令('oneLine',函数($expression)
{
返回“”;
});
问题是什么?错误是什么。对不起,我更新了问题以包含编译的输出。但是,通过以这种方式包含视图,javascript并没有意识到字符串包含多行,如果可能的话,我不希望转义视图文件iteself。所以我的问题是,有没有一种方法可以让我通过javascript或laravel包(我还不知道/还没有找到)来逃避/缩小这一部分?