错误缺少 [Route: city] [URI: daftar/city/id] 所需的参数

Posted

技术标签:

【中文标题】错误缺少 [Route: city] [URI: daftar/city/id] 所需的参数【英文标题】:Error Missing required parameters for [Route: city] [URI: daftar/city/id]错误缺少 [Route: city] [URI: daftar/city/id] 所需的参数 【发布时间】:2020-03-28 21:29:50 【问题描述】:

我想用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');
);

【问题讨论】:

【参考方案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('');
        ,
        );
);

【讨论】:

【参考方案2】:

你正在使用

 route('city') 

没有任何参数,所以你需要用这段代码改变你的路线:

Route::group(['prefix' => 'vendor'], function () 
 Route::get('/city/id?', 'Vendor\VendorController@getCity')->name('city');
);

【讨论】:

【参考方案3】:

你不能这样写。 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('');
        ,
    );
);

【讨论】:

【参考方案4】:

你不能使用没有参数的 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('');
        ,
        );
);

【讨论】:

以上是关于错误缺少 [Route: city] [URI: daftar/city/id] 所需的参数的主要内容,如果未能解决你的问题,请参考以下文章

[Route: ] - Laravel 7 缺少必需的参数

[Route:..] 缺少所需参数是不是有解决方案?

域路由错误 Laravel 中缺少必需的参数

Laravel 8:[路线:students.update]缺少必需的参数

缺少必需的参数(laravel 8.8.0)

REST API 404:错误的 URI 或缺少资源?