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();
}
});
});
のためでしたか? –
私はRoute :: get( '/ admin/athlete/new/ajax/{id}'、function(){ \t \t return "Laravel"; \t}を押すことでデバッグを開始します。 あなたがヒットしている場合は、request()出力を確認してください。 – Rahi
それはタイプではありません: "GET"でもメソッド: "GET" –