【问题标题】: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');
});

【问题讨论】:

    标签: php jquery ajax laravel laravel-5


    【解决方案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('');
                  },
                  });
          });
          

          【讨论】:

            猜你喜欢
            • 2021-06-21
            • 2019-08-24
            • 2022-01-16
            • 2020-03-16
            • 2019-11-19
            • 2019-10-01
            • 1970-01-01
            • 2020-03-13
            • 1970-01-01
            相关资源
            最近更新 更多