我试图通过AJAX请求在Laravel发送记录ID到资源控制器进行编辑。我的代码如下:
function editdetails(id) {
$.ajax({
type:'GET',
url:"{{ route('users.edit', id ) }}",
success:function(data){
console.log(data);
}
});
}
但是我得到如下错误:
Use of undefined constant id - assumed 'id' (this will throw an Error in a future version of PHP)
可以这样使用:
var id = id;
var url = "{{ route('users.edit',":id") }}";
url = url.replace(':id', id);
在你的代码中:替换:
function editdetails(id) {
var id = id;
var url = "{{ route('users.edit',":id") }}";
url = url.replace(':id', id);
$.ajax({
type:'GET',
url: url,
success:function(data){
console.log(data);
}
});
}
因为你在这里使用javascript,你不能使用刀片语法。为了实现这一点,你要么必须使用URL作为你在路由文件中定义的字符串:
url: "/your/url/" + id
//or
url: `/your/url/${id}`
或者你可以把你的路由保存在页面的某个隐藏元素中,然后在js中使用它,例如:
//define in blade file
<input type="hidden" id="edit-url" value="{{route('users.edit', $id )}}">
//use in js file
let url = $('#edit-url').val()
url: url