Javascript 如何通过html锚定标记传递Js变量
在这里,我试图像这样将id传递给控制器Javascript 如何通过html锚定标记传递Js变量,javascript,html,ajax,laravel-5,anchor,Javascript,Html,Ajax,Laravel 5,Anchor,在这里,我试图像这样将id传递给控制器{{route(“admin.service.edit”,'+val[0]+')} 但是 +Val[0 ] +'/COD>被认为是URL中的一个字符串http://localhost:8000/admin/service/**+val%5B0%5D+**/编辑 但是这个变量在URL中看起来像+val%5B0%5D+,但我需要它的值 这是我的锚标签 <a href="{{ route("admin.service.edit"
{{route(“admin.service.edit”,'+val[0]+')}
但是
<a href="{{ route("admin.service.edit",'+val[0]+')}}"></a>
下面是完整的代码
$.ajax({
type:'POST',
url:'/admin/service/show_list',
data:{ modality_id: m, center_id: h },
success:function(data) {
$("#service-table > tbody").empty();
var trHTML = '';
$.each( data.service_list1, function( i, val ) {
trHTML +='<tbody><tr id="myTableRow" style="text-align:center;"><td>' + val[0] + '</td><td>' + val[1] + '</td><td><a href="{{ route("admin.service.edit",'+val[0]+')}}" class="btn btn-default btn-xs" title="Edit Service"><i class="fa fa-pencil"></i></a></td></tr></tbody>';
});
$('#service-table').append(trHTML);
}
});
$.ajax({
类型:'POST',
url:“/admin/service/show_list”,
数据:{模态id:m,中心id:h},
成功:功能(数据){
$(“#服务表>tbody”).empty();
var trHTML='';
$.each(data.service_列表1,函数(i,val){
trHTML+=''+val[0]+''+val[1]+'';
});
$(“#服务表”).append(trHTML);
}
});
但是我想在URL中传递该变量的值,那么我如何才能做到呢
提前谢谢你的混音。整个表达式在服务器端计算:
{{ route("admin.service.edit",'+val[0]+')}}
服务器只使用文本字符串值'+val[0]+'
。服务器上不涉及JavaScript。将结果放入页面后,生成的页面将传递到浏览器。(作为练习,请查看浏览器的“查看源代码”选项,并准确查看JavaScript代码中的内容。)
一种可能的解决方法是,使用占位符值,然后在客户端替换该值,而不是直接将JavaScript值放入服务器端操作。例如,可能是这样的:
{{ route("admin.service.edit","REPLACEME")}}
然后在JavaScript代码中,您将有以下内容:
trHTML +=
'[removed for brevity]<a href="http://localhost:8000/admin/service/REPLACEME/edit" class="btn btn-default btn-xs" title="Edit Service"><i class="fa fa-pencil"></i></a></td></tr></tbody>';
trHTML+=
“[为简洁起见删除]”;
您可以使用JavaScript将已知占位符替换为预期的客户端值:
trHTML +=
'[removed for brevity]<a href="http://localhost:8000/admin/service/REPLACEME/edit" class="btn btn-default btn-xs" title="Edit Service"><i class="fa fa-pencil"></i></a></td></tr></tbody>'
.replace('REPLACEME', val[0]);
trHTML+=
“[为简洁起见删除]”
.replace('REPLACEME',val[0]);
最后,我找到了一个解决方案
我将路由和id保存在一个变量中,然后用url替换:id值。替换函数
下面是代码
var url = '{{ route("admin.service.edit", ":id") }}';
url = url.replace(':id', val[0]);
<a href="'+url+'" title="Edit Service"><i class="fa fa-pencil"></i></a>
var url='{{route(“admin.service.edit”,“:id”)}';
url=url.replace(':id',val[0]);
我不清楚你在问什么。什么是“大胆的部分”?请修改以更好地解释您正在尝试做什么以及您需要什么(它如何不起作用)。如果你删除了一些非必要的东西,比如所有的引导类、图标元素和内联样式,这会有所帮助。