簡體   English   中英

Ajax 響應未在刀片 Laravel 中顯示

[英]Ajax Response not showing in blade Laravel

我的代碼有一點問題。

我的表單中有一個下拉字段。 我在它上面應用了 onclick 事件。 Onclick,我正在向 controller 發送 ajax 調用,我正在調用我的查詢以獲取所有年份列表並將其返回給刀片作為響應。

我的代碼正在運行,我可以在“網絡”選項卡下的預覽中看到 ajax 響應,但問題是刀片上的值未顯示在下拉列表中。

   <div class="form-group">
      <select id="regist_year" data-dependent="registration">
             <option selected value=""></option>
       </select>
   </div>

Javascript

$('#regist_year').on('click', function(e){
    e.preventDefault();
    var _token = $('input[name="_token"]').val();
    var all_years = $(this).data('dependent');

    $.ajax({
        url:"{{ route('getAllyears') }}",
        method:"POST",
        data:{_token:_token,all_years:all_years},

        success:function(result)
        {
             $('#'+all_years).html(result);
        }
    });
});

Controller

public function getAllyears(Request $request)
{

    $all_years = $request->get('all_years');

    $years = DB::table('auto_databases_one')
        ->select('year')
        ->distinct()
        ->orderBy('year', 'ASC')
        ->get();

    $get_years = '<option value="">Select ' . ucfirst($all_years) . '</option>';
    foreach ($years as $row) {
        $get_years .= '<option value="' . $row->year . '">' . $row->year . '</option>';
    }
    echo $get_years;
}

好吧,您將 hyml 放入$('#'+all_years)中,即$('#regist_year').data('dependent'); 這導致$('#registration')並且您沒有具有該 ID 的 dom

將其更改為

$('#regist_year').html(result);

此外,防止默認點擊 select 可能會產生不良后果。 像下拉菜單沒有打開和選項不能被鼠標選擇

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM