我正在尝试通过Ajax调用传递用户ID,但是它是空的。 我觉得输入标签中的值=“ {{$ user-> id}}”“不正确,但不确定。
以下是我的输入标签:
<div>
<input type = "hidden" name = "id" value="{{ $user->id }}">
</div>
以下是我的Ajax代码:
$('#grp-save').on('click', function () {
$.ajax({
method: 'POST',
url: urlGrp,
data: {uid: $('#id').val(), _token: token}
})
.done(function () {
$('#join-req').modal('hide');
});
});
以下是我的控制器:
public function jmGroup(Request $request)
{
$u_id = $request['uid'];
$grpusr = new Grpusr();
$grpusr->user_id = $u_id;
$grpusr->save();
return redirect()->back();
答案 0 :(得分:2)
您的字段上没有id
,因此可以添加以下内容:
<input type="hidden" name="id" id="id" value="{{ $user->id }}">
或改用它:
$('input[name=id]').val()
答案 1 :(得分:1)
您正在尝试选择ID为id的字段的值:
$('#id').val()
但是您的输入字段不包含id属性:
<div>
<input type = "hidden" name = "id" value="{{ $user->id }}">
</div>
添加id="id"
应该可以解决。
<input type = "hidden" name = "id" id="id" value="{{ $user->id }}">
答案 2 :(得分:0)
您需要为隐藏的输入字段定义id参数,因为这是您在JS代码中引用的内容。
<input type = "hidden" id="id" name = "id" value="{{ $user->id }}">
$('#id').val()
Jquery基本上是在寻找ID为ID的元素。您应该给它一个更有意义的名称,例如userId,因为文档中不能包含多个具有相同ID的元素