2017-05-17 9 views
0

Ich bin mit der folgenden URL http://localhost/npr/public/admin/athletes/test/143 Auf diesem Bildschirm auf einem Bildschirm arbeiten, habe ich realisiert die folgenden dynamischen Droplist Ajax, dass rufen wird nicht gefunden:Laravel 5.3 Ajax url nicht

$(document).ready(function() { 
$('select[name="section"]').on('change', function() { 

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

    if(sectionID) { 
     $.ajax({ 
      url: './getSportPositions'+sectionID, 
      method: 'get', 
      //data: {"_token": $('#token').val()}, 
      dataType: "json", 
      success:function(data) { 
       $('select[name="position"]').empty(); 
       $('select[name="position"]').append('<option value="">'+ '-- Please choose one --' +'</option>'); 
       $.each(data, function(i, position) { 
        $('select[name="position"]').append('<option value="'+position.name+'">'+ position.name +'</option>'); 
       }); 
      } 
     }); 
    }else{ 
     $('select[name="position"]').empty(); 
    } 
}); 
}); 

Route:

Route::get('getSportPositions{id}','[email protected]');

ich habe mit auch versucht:

Route::get('/admin/athletes/test/getSportPositions{id}','[email protected]');

Liegt es an Athlet ID 143 in der aufrufenden URL? Wie behebe ich diesen Anruf? Es scheint aus dem Fehler, dass es versucht, diesen Weg zu gelangen:

Route::get('/admin/athletes/test/{athlete}/', [ 
    'uses' => '[email protected]', 
    'as' => 'admin.test_athlete' 
]); 

HTML:

<div class="form-group {{ $errors->has('position') ? ' alert alert-danger' : '' }}"> 
     <label for="position" class="col-md-3 control-label">Position in Team</label> 

     <div class="col-md-6"> 
      <select class="form-control" name="position" id="position"> 
       @if (!$errors->has('position')) 
        <option selected value> -- select a team first -- </option> 
       @endif 
      </select> 
     </div> 
     @if ($errors->has('position')) 
      <span class="help-block"> 
       <strong>{{ $errors->first('position') }}</strong> 
      </span> 
     @endif           
    </div>      
+0

fügen Sie bitte wählen Sie HTML-Code –

Antwort

2

Wenn Sie Ajax verwenden Sie URL wie

var APP_URL = $('meta[name="_base_url"]').attr('content'); 

auch bekommen haben hinzufügen dies <meta name="_base_url" content="{{ url('/') }}"> zu Kopf-Tag

dann, nachdem Sie APP_URL

var url = APP_URL+"/getSportPositions/"+sectionID; 
+0

Ich habe ein Problem nicht die URL verwenden, können mit ./ Notation bekommen. Ich habe deinen Code jetzt hinzugefügt und das Problem mit der ID 143 ist immer noch da. Es ist jetzt Routing zu "http: // localhost/npr/öffentliche/admin/athlets/test/undefined/getSportPositions/4" – louisav

+0

Kannst du APP_URL hier einfügen? –

+0

Strecke sollte 'Strecke :: get ('getSportPositions/{id}', 'Homecontroller @ getSportPositions');' statt 'Strecke :: get ('getSportPositions {id}', 'Homecontroller @ getSportPositions '); ' –