如何解决如何在ajax路由数据表Laravel中传递user_id
$(function() {
var user_id = $(this).data('user_id');
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('Meta[name="csrf-token"]').attr('content')
}
});
var table = $('.data-table').DataTable({
paging: true,info: true,autoWidth: false,responsive: true,processing: true,serverSide: true,ajax: "{{ route('detail.user','user_id')}}",columns: [{
data: 'DT_RowIndex',name: 'DT_RowIndex',orderable: false,searchable: false,},{
data: 'title',name: 'title',{
data: 'content',name: 'content',visible: false,{
data: 'progress',name: 'progress'
},{
data: 'status',name: 'status'
},{
data: 'kpi',name: 'kpi'
},{
data: 'target_selesai',name: 'target_selesai'
},{
data: 'action',name: 'action',searchable: false
},]
});
$('body').on('click','.detailProduct',function() {
...
});
$('#saveBtn').click(function(e) {
...
});
$('body').on('click','.deleteProduct',function() {
...
});
});
我想从 url 参数中获取 user_id 值(例如: http://127.0.0.1:8000/detail/1000000004 ),我已经尝试过上面的代码,但它会返回空值。
好像我写了错误的代码来获取 url 参数。因为,如果我将 ajax: "{{ route('detail.user',
更改为 ajax: "{{ route('detail.user','1000000004')}}",
,程序将按预期工作。我该怎么办?提前致谢
解决方法
您不能使用 JavaScript 在 PHP 代码中设置变量。您不应在动态 JavaScript 代码上使用 PHP 代码。有两种选择:
-
使用静态路径代替 Laravel 路由,只需将
ajax: "{{ route('detail.user','user_id')}}"
改为ajax: "/detail/"+user_id
-
使用 Laravel 刀片视图 arg 发送
user_id
变量。在您的控制器上定义 user_id,如下所示:return view('index',['user_id',1000000004] );
然后在刀片上调用它作为 php 变量 (
$user_id
) 示例ajax: "{{ route('detail.user',$user_id)}}"
- 确保在 routes/web.php 中的 url,提供一个变量传递,例如 /name-routes/{id}
- 然后在您的控制器函数中获取数据 ID,函数 function_name($id){ }
- 最后确定格式返回json,格式类似于{ data : [ name : "value name 1",name : "value_name2" ] }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。