如何使用ajax传递命名路由参数

Ars*_*een 6 javascript ajax laravel

我需要传递路由参数,ajax但我在ajax代码中使用命名路由方法。

路线我想去 路线

Route::post('/edit/{id}', 'ArticleController@updateArticle')->name('updateArticle');
Run Code Online (Sandbox Code Playgroud)

阿贾克斯

var id= $("input[name=editId]").val();
$.ajax({
   type:'POST',
   enctype: 'multipart/form-data',
   url:"{{ route('updateArticle',"id") }}",
   data: formdata,
   contentType: false,
   processData: false,
   success:function(data){
        $('.alert-success').html(data.success).fadeIn('slow');
        $('.alert-success').delay(3000).fadeOut('slow');
   }
});
Run Code Online (Sandbox Code Playgroud)

我想idajaxURL 中使用变量。

小智 13

尝试使用替换功能:

var id = $("input[name=editId]").val();
var url = "{{ route('updateArticle', ":id") }}";
url = url.replace(':id', id);

$.ajax({
   type:'POST',
   enctype: 'multipart/form-data',
   url: url,
   data: formdata,
   contentType: false,
   processData: false,
   success:function(data){
        $('.alert-success').html(data.success).fadeIn('slow');
        $('.alert-success').delay(3000).fadeOut('slow');
   }
});
Run Code Online (Sandbox Code Playgroud)


小智 5

我有同样的问题,只需用这个更改你的ajax url。

var id= $("input[name=editId]").val();
$.ajax({
   type:'POST',
   enctype: 'multipart/form-data',
   url:"{{ route('updateArticle') }}" + '/' + id,
   data: formdata,
   contentType: false,
   processData: false,
   success:function(data){
        $('.alert-success').html(data.success).fadeIn('slow');
        $('.alert-success').delay(3000).fadeOut('slow');
   }
});
Run Code Online (Sandbox Code Playgroud)