我想在Laravel中将id的值传递给控制器
我的Ajax代码:
$(document).ready(function () {
$(document).on('click', '.brnch_clk', function () {
//alert('ok')
var branchid = $(this).data('branch');
$('#txt_branchid').val(branchid);
alert($(this).data('branch'));
$.ajax({
'url': 'search',
'type': 'GET',
'data': {id: branchid},
success: function(response){ // What to do if we succeed
if(data == "success")
alert(response);
},
error: function(response){
alert('Error'+response);
}
});
});
});
我的控制器:
public function search(Request $request)
{
$member = $request->get('id');
return json_encode($member);
}
我的路线:
Route::get('search', 'ShowstaffController@search');
我的链接:
<a href="{{URL('search')}}" class="brnch_clk"
data-branch="{{$value->branch_id}}"> {{$value->Branch_Name}}
</a>
如何从ajax到控制器获取参数id?
答案 0 :(得分:1)
您无法在GET
中发送data
值。将其作为查询字符串发送到URL
。
检查此代码:
$(document).ready(function () {
$(document).on('click', '.brnch_clk', function (e) {
e.preventDefault();
//alert('ok')
var branchid = $(this).data('branch');
$('#txt_branchid').val(branchid);
//alert($(this).data('branch'));
$.ajax({
'url': 'search?id='+branchid,
'type': 'GET',
'data': {},
success: function(response){ // What to do if we succeed
if(data == "success")
alert(response);
},
error: function(response){
alert('Error'+response);
}
});
});
});
答案 1 :(得分:1)
您应使用query string
方法获取来自query
的参数。
$request->query('id');
答案 2 :(得分:1)
我认为'url': 'search?id='+branchid
代替'url': 'search'
应该强制JQuery发送data
作为GET参数。否则,数据将作为POST参数发送。
答案 3 :(得分:0)
同一件事发生在我身上,我使用了所有解决方案,但无法获得结果。
这就是我所做的,
此处是jQuery代码段
var branchid = $(this).data('branch');
var form = new formData();
form.append('id',branchid)
$.ajax({
'url': 'search',
'type': 'GET',
'data': form,
success: function(response){ // What to do if we succeed
if(data == "success")
alert(response);
},
error: function(response){
alert('Error'+response);
}
});
Laravel控制器
public function search(Request $request)
{
$id = $request->get('id');
}
注意::您无需编码json,Laravel默认以JSON格式发送响应。