2014-12-24 3 views
7

Как я могу передать переменную (stock.id) возвращения из Ajax ответа на маршрут, чтобы генерировать URL для редактирования запасаLaravel 4, передать переменную пути в JavaScript

$.ajax({ 
      url: 'sectors/stocks/' + $(this).data('sector-id'), 
      dataType:'json', 
      beforeSend:function() { 
       $('.stocks_list').html('Loading...'); 
      } 
     }) 
     .done(function(data) { 
      $('.stocks_list').html('<ul>'); 
      $.each(data, function(index, obj_data) { 
       $.each(obj_data.stocks, function(indx, stock) { 
        $('.stocks_list').append('<li><a href="{{route("admin.stocks.edit","'+stock.id+'")}}">' + stock.symbol + ' </a></li>');  
       }); 
     }); 
    }) 

ответ

31

Вы можете сначала использовать заполнитель для создания URL-адреса, а затем заменить его в javascript.

var url = '{{ route("admin.stocks.edit", ":id") }}'; 
url = url.replace(':id', stock.id); 
$('.stocks_list').append('<li><a href="'+url+'">' + stock.symbol + ' </a></li>'); 
+0

ОК, он теперь работает, спасибо, На самом деле я сделал малое изменение, потому что Laravel избегает символа% – Marwan

+0

О, ты прав. Что вы использовали вместо '%'? – lukasgeiter

+0

Я просто сменил его на другую строку, такую ​​как S_id_E – Marwan

1

Спасибо lukasgeiter, вы делаете мой день. Оно работает. Только нужно изменить метод замены, потому что Laravel усиков «:» на «% 3A»

var url = '{{ url("/admin/solicitud", ":id") }}'; 
url = url.replace('%3Aid', data.datos[i].id); 
dhtml+='<td><a href="'+url+'" class="btn btn-primary" role="button">Ver más...</a></td>'; 

или просто впустить идентификатор строки только

var url = '{{ url("/admin/solicitud", "id") }}'; 
url = url.replace('id', data.datos[i].id); 
dhtml+='<td><a href="'+url+'" class="btn btn-primary" role="button">Ver más...</a></td>'; 
Смежные вопросы