我想使用ajax将数据发送到控制器,但是出现错误
Missing required parameters for `[Route: city] [URI: daftar / city / {id}].
这是我的Ajax代码
$(".province").on("change",function(){
var id = this.value;
console.log(id);
$.ajax({
type: "get",
url: "{{ route('city') }}"+'/'+id ,
dataType: "json",
success: function(data){
console.log('');
},
});
});
这是我的路线
Route::group(['prefix' => 'vendor'], function () {
Route::get('/city/{id}', 'Vendor\VendorController@getCity')->name('city');
});
答案 0 :(得分:1)
尝试一下。
Route::group(['prefix' => 'vendor','as'=>'vendor.'], function () {
Route::get('/city/{id}',['as' => 'activebranch', 'uses' => 'Vendor\VendorController@getCity']);
});
AjAX。
$(".province").on("change",function(){
var id = this.value;
console.log(id);
$.ajax({
type: "get",
url: "{{ route('vendor.activebranch') }}"+'/'+id ,
dataType: "json",
success: function(data){
console.log('');
},
});
});
答案 1 :(得分:0)
您正在使用
{{ route('city') }}
没有任何参数,因此您需要使用以下代码更改路线:
Route::group(['prefix' => 'vendor'], function () {
Route::get('/city/{id?}', 'Vendor\VendorController@getCity')->name('city');
});
答案 2 :(得分:0)
您不能这样写。 {{ route('city') }}
正在回显具有参数的路由。但此处缺少该参数。您稍后将使用js添加该参数,但由于php回显路由时会丢失该参数而无法使用。你可以这样做
$(".province").on("change",function(){
var id = this.value;
var url = '{{ route("city", ":id") }}';
url = url.replace(':id', id);
$.ajax({
type: "get",
url: url,
dataType: "json",
success: function(data){
console.log('');
},
});
});
答案 3 :(得分:0)
没有参数,就不能使用route('city')
如果您希望没有laravel帮助器的简单方法,可以尝试这样更改它:
$(".province").on("change",function(){
var id = this.value;
console.log(id);
$.ajax({
type: "get",
url: "daftar/city/" + id ,
dataType: "json",
success: function(data){
console.log('');
},
});
});