2014-12-24 42 views
7

如何傳遞從Ajax響應到路由的變量(stock.id)返回生成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

OK,它的工作原理現在,謝謝,其實我做了一個因爲Laravel逃脫了字符% – Marwan

+0

Ooops你是對的。你用什麼來代替'%'? – 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>'; 

或簡單的讓ID字符串僅

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