我需要使用ajax
传递route参数,但是我正在ajax
代码中使用命名路由方法。
我要走的路线 路线
Route::post('/edit/{id}', 'ArticleController@updateArticle')->name('updateArticle');
Ajax
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');
}
});
我想在id
URL中使用变量ajax
。
答案 0 :(得分:1)
将+
放在id
变量周围,并确保您通过formdata
变量传递X-CSRF-Token或尝试发送manualy:
替换此行:
url:“ {{route('updateArticle',” id“)}}”“
与此:
url:“ {{route('updateArticle',” + id +“)}}”,
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');
}
});
答案 1 :(得分:1)
我遇到了同样的问题,只是用这个更改您的ajax网址。
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');
}
});
答案 2 :(得分:0)
您可以这样做。
在刀片文件中
<script>
window.your_route = "{{ route('updateArticle',['id'=>$id]) }}";
</script>
在JavaScript中,您可以使用创建的变量。
$.ajax({
type:'POST',
enctype: 'multipart/form-data',
url:window.your_route,
data: formdata,
contentType: false,
processData: false,
success:function(data){
$('.alert-success').html(data.success).fadeIn('slow');
$('.alert-success').delay(3000).fadeOut('slow');
}
});
答案 3 :(得分:0)
您可以在下面这样操作,只需对网址和ID进行硬编码
var id= $("input[name=editId]").val();
$.ajax({
type:'POST',
enctype: 'multipart/form-data',
url:"edit/1",
data: formdata,
contentType: false,
processData: false,
success:function(data){
$('.alert-success').html(data.success).fadeIn('slow');
$('.alert-success').delay(3000).fadeOut('slow');
}
});
答案 4 :(得分:0)
尝试使用替换功能:
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');
}
});
答案 5 :(得分:0)
形式
<form id="form-create-role" action="{{route('role-create')}}" >
在角色role-create.js中
$(function(){
$('#form-create-role').submit(function (event) {
event.preventDefault();
$.ajax({
type: "post",
url: $(this).attr('action'),
data: $(this).serialize(),
dataType: "json",
success: function (response) {
}
});
});
});