我正在使用Laravel和Ajax通过网址获取数据,我有这个:
Route::get('providers/{providers}','ProvidersController@getProviders');
我的控制器上的那个函数返回给我一个特定id的所有提供者,这个工作正常,但我需要在我的选择输入中填充这些数据,我现在得到这样的:
$(document).ready(function(){
$('#providers_types_id').change(function(event){
$.get("providers/"+event.target.value+"",function(response,provider){
$('#providers_id').empty();
for(i=0; i<response.length; i++){
$("#providers_id").append("<option value='"+response[i].id+"'>"+response[i].company+"</option>");
}
});
});
});
所以,我发送网址以获取数据时遇到麻烦,我需要发送:
http://myapp.local/providers/1
但我不知道为什么它会发送当前与我的网址连接的网址:
http://myapp.local/prices/3/providers/1
显然我有404错误,我怎么只能发送第一个网址来获取我的数据? 抱歉我的英文不好!
答案 0 :(得分:2)
只需在网址开头添加“/”
$.get("/providers/"+event.target.value+"",function(response,provider){
$('#providers_id').empty();
for(i=0; i<response.length; i++){
$("#providers_id").append("<option value='"+response[i].id+"'>"+response[i].company+"</option>");
}
});
});
答案 1 :(得分:0)
我认为更好的解决方案是命名你的路线
docker run ... -e DOCKER_API_VERSION=$(docker version --format '{{.Server.Version}}') ...
在$ .get()之前的js文件中放入以下url变量
Route::get('providers/{providers}','ProvidersController@getProviders')->name('anything');
然后在$ .get()
中使用此网址var url = '{{ route('anything', ['providers'=>'']) }}'+'/'+event.target.value;