2014-12-24 11 views
7

Jak mogę przekazać zmienne (stock.id) powrót z odpowiedzi Ajax do trasy do generowania URL edytować Zdjęcielaravel 4, przekazać zmienną do trasy w 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>');  
       }); 
     }); 
    }) 

Odpowiedz

31

Możesz najpierw użyć elementu zastępczego, aby wygenerować adres URL, a następnie zastąpić go w 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

OK, to teraz działa, dzięki Właściwie zrobiłem mała zmiana, ponieważ Laravel ucieka z postaci% – Marwan

+0

Ooops, masz rację. Co użyłeś zamiast "%"? – lukasgeiter

+0

Właśnie zmieniłem go na inny ciąg, taki jak S_id_E – Marwan

1

Dzięki, Lukasgeiter, robisz mój dzień. To działa. Tylko musi się zmienić sposób zastąpić ponieważ laravel scape ":" na "% 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>'; 

lub prosty pozwolić ciąg id tylko

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>'; 
Powiązane problemy