2016-12-15 52 views
3

我需要在laravel中執行AJAX請求,並且url是URL :: Action方法和Javascript整數變量之間的串聯。URL :: action()和Javascript之間的連接int變量

視圖中的javascript函數是

function detailMaintenanceVehicle(vehicleId,placa){ 

    var url = "{{ URL::action('[email protected]',["+vehicleId+"]) }}"; 

    console.log(vehicleId); // This prints integer variables 1,2,3.. 
    console.log(url); // This prints a string http://localhost/.../detailMaintenance/+vehicleId+ 

    $.ajax({ 
     url: url, 
     dataType: 'json', 
     type: 'GET', 
     success: function(data) { 
      ... 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      ... 
     } 
    }); 

} 

級聯中使用變量名,它必須使用的值。

//給出:http://localhost/.../detailMaintenance/+vehicleId+

//我需要:http://localhost/.../detailMaintenance/3(例如)

請幫助我。提前致謝!。

回答

5

你可以爲嘗試:

var url = "{{ URL::action('[email protected]', ['vehicleId' => 'vehicleId']) }}"; 

url.replace("vehicleId", vehicleId); 
+0

它的工作,並在短短一行VAR URL =( 「{{...}}」)​​取代(..); –

3

你不應該用PHP生成JS。數據創建隱藏的輸入,例如:

{!! Form::hidden('url, action('[email protected])) !!} 

如果你的行動需要ID,只需手動編寫部分URL。

然後把它在JS:

var url = $("[name='url']") + vehicleId; 
+0

是的你是對的,在這種情況下更適合我的案例僞代碼的答案。同樣非常感謝! –

1

您必須創建此方法控制的路徑就像: 路線::任何( 'ajaxRequest/{vehicleId}', 「DetailMaintenanceController @ getDetailMaintenance」) ;

那麼之後你需要在你的JavaScript來改變如下:

function detailMaintenanceVehicle(vehicleId,placa){ 

var url = "{{ URL::to('ajaxRequest/') }}"+vehicleId; //YOUR CHANGES HERE... 

console.log(vehicleId); // This prints integer variables 1,2,3.. 
console.log(url); // This prints a string http://localhost/.../detailMaintenance/+vehicleId+ 

$.ajax({ 
    url: url, 
    dataType: to'json', 
    type: 'GET', 
    success: function(data) { 
     ... 
    }, 
    error: function(jqXHR, textStatus, errorThrown) { 
     ... 
    } 
}); 

} 
+0

Yest,我用它和它的工作,但現在我需要使用URL ::動作。同樣謝謝! –