2014-12-24 21 views
7

Come posso passare il ritorno variabili (stock.id) dalla risposta Ajax per il percorso per generare l'URL per modificare un magazzinolaravel 4, passare una variabile per instradare in 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>');  
       }); 
     }); 
    }) 

risposta

31

Puoi prima usare un segnaposto per generare l'URL e poi sostituirlo in 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, ora funziona, Grazie, In realtà ho fatto un piccolo cambiamento perché Laravel sfugge al personaggio% – Marwan

+0

Ooops hai ragione. Cosa hai usato al posto di%? – lukasgeiter

+0

L'ho appena modificato in un'altra stringa come S_id_E – Marwan

1

Grazie lukasgeiter, tu fai la mia giornata. Funziona. Solo deve cambiare il metodo di sostituzione perché laravel scape ":" a "% 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>'; 

o semplice lasciare la stringa id unico

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>'; 
Problemi correlati