2017-02-08 10 views
0

私はこれに続いてtutorial on dynamic droplistsですが、2番目のドロップリストはまだ空です。ルートには決して到達しません。 JSファイルの下で この文コントローラに正しくconsole.log(sportID);この行を実行には到達しません:print_r('I am here');die();Laravel 5 Ajax URLが実行されていないルート

ビュー:

<div class="form-group "> 
    <label for="sport" class="col-md-3 control-label">Current Sport</label> 

    <div class="col-md-6"> 
     <select class="form-control" name="sport" id="sport"> 

      <option disabled selected value> -- select an option --</option> 

      @foreach($sports as $sport) 
       <option value="{{ $sport->id }}">{{ $sport->name }}</option> 
      @endforeach 
     </select> 
    </div> 
</div> 

<div class="form-group "> 
    <label for="position" class="col-md-3 control-label">Current Position</label> 

    <div class="col-md-6"> 
     <select name="position" id="position" class="form-control"> 
     </select> 
    </div> 
</div> 

路線:

Route::get('/admin/athlete/new', [ 
     'uses' => '[email protected]', 
     'as' => 'admin.new_athlete' 
]); 
Route::get('/admin/athlete/new/ajax/{id}', [ 
     'uses' => '[email protected]', 
     'as' => 'admin.new_athlete_ajax' 
]); 

コントローラ方法:

public function myformAjax($id) 
{ 
    print_r('I am here');die(); 
    $positions = Position::where('sport_id','=',$id)->get();   
    return json_encode($positions); 
} 

JS:

以下が働いて、 url: 'http://localhost/npr/public/admin/athlete/new/ajax'+sportID‌​にURLを働い変更し、それは相対的な作り
$(document).ready(function() { 
    $('select[name="sport"]').on('change', function() { 

     var sportID = $(this).val(); 

     if (sportID) { 
      console.log(sportID); 
      $.ajax({ 
       url: "/admin/athlete/new/ajax/" + sportID, 
       type: "GET", 
       dataType: "json", 
       success: function (data) { 
        $('select[name="position"]').empty(); 
        $('select[name="position"]').append(' Please choose one'); 
        $.each(data, function (key, value) { 
         $('select[name="position"]').append('<option value="' + key + '">' + value + '</option>'); 
        }); 
       } 
      }); 
     } else { 
      $('select[name="position"]').empty(); 
     } 
    }); 
}); 
+0

のためでしたか? –

+0

私はRoute :: get( '/ admin/athlete/new/ajax/{id}'、function(){ \t \t return "Laravel"; \t}を押すことでデバッグを開始します。 あなたがヒットしている場合は、request()出力を確認してください。 – Rahi

+0

それはタイプではありません: "GET"でもメソッド: "GET" –

答えて

0

url : './new/ajax'+sportID

これは、あなたのコンソールにはどのような反応を得ているLaravel 5.3

関連する問題