我尝试在下拉列表中获取用户地址列表,但我在网络上遇到404
错误,当我通过网址测试它时返回404 Page Not Found
user_id
表中的每个地址都有addresses
列(我可以通过user_id从地址表中获取)1-在下拉列表中选择用户
2-在其他下拉列表中显示他/她的地址
我的控制器:
public function getAddressList($user_id)
{
$address = Address::where('user_id',$user_id)->get();
return response()->json($address);
}
路线:
Route::get('/getAddressList/{user_id}','OrderController@getAddressList');
刀片:
// Select boxes
<div class="row bg-danger mb-20" style="padding: 7px;">
<div class="col-md-6">
{{ Form::label('user_id', 'Buyer') }}
<select name="user_id" class="form-control">
<option class="form-control" value="">Select user</option>
@foreach($users as $user)
<option value="{{ $user->id }}">{{ $user->name }}</option>
@endforeach
</select>
</div>
<div class="col-md-6">
{{ Form::label('address_id', 'Buyer Address') }}
<select name="address_id" class="form-control">
<option class="form-control" value="">Select Address</option>
</select>
</div>
</div>
//Javascript codes
<script type="text/javascript">
$(document).ready(function() {
$('select[name="user_id"]').on('change', function() {
var userID = $(this).val();
if(userID) {
$.ajax({
url: '{{ url('getAddressList') }}/'+encodeURI(userID),
type: "GET",
dataType: "json",
success:function(data) {
$('select[name="address_id"]').empty();
$.each(data, function(key, value) {
$('select[name="address_id"]').append('<option class="form-control" value="'+ value['id'] +'">'+ value['address'] +'</option>');
});
},
});
}else{
$('select[name="address_id"]').empty();
}
});
});
</script>
PS: if i visit: `http://domain.dev/getAddressList/1` i get 404 Page not fount as well as inspect network tab
答案 0 :(得分:0)
您的路线定义
messages
必须放在群组定义下,并带有一些Route::get('/getAddressList/{user_id}','OrderController@getAddressList');
。
纠正路线定义位置可以解决您的问题。
关于注释,您可以将控制器方法签名恢复为
prefix