[英]loading url to bootstrap modal using ajax in Laravel not working
在 Laravel -控制器名称是ProductController ,方法是showproductinmodal 。 我试过这个,javascript 代码它工作。
Web 路线:
Route::get('admin/product/show/{id}', 'Admin\ProductController@showproductinmodal');
JS:
<script>
$('.showinfo').click(function(){
var productid = $(this).data('id');
// AJAX request
$(".modal-body").load("{{URL::to('admin/product/show/')}}"+"/"+productid);
});
</script>
Url 已加载并将一些文本返回到模态。 但是这个 Javascript 代码不起作用,我想使用下面的代码:
$(document).ready(function(){
$('.showinfo').click(function(){
var productid = $(this).data('id');
// AJAX request
$.ajax({
url: '{{route('admin.showproductinmodal')}}',
type: 'post',
data: {id: productid},
success: function(response){
// Add response in Modal body
$('.modal-body').html(response);
}
});
});
});
我的 web 路线代码
Route::post('admin/product/show/', 'Admin\ProductController@showproductinmodal')->name('admin.showproductinmodal');
我的 Controller 代码:
public function showproductinmodal(Request $id)
{
return "Your test id:" . $id;
}
我的标签
<a href="#" data-toggle="modal" data-target="#modaldemo3" data-id="15" class="showinfo">Any ID test</a>
模态工作正常,当我使用第一个 javascript 代码时弹出一切正常数据加载,但第二个 javascript 代码对我来说是必需的。 我也在 $.ajax 请求中插入了警报,但它没有用。
在您的情况下,您可能缺少 crsf 令牌:
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
为 ajax 调用设置 csrf 令牌一次,然后调用 N 个 ajax:
$(document).ready(function () {
$('.showinfo').click(function () {
var productid = $(this).data('id');
let url = "{!! route('admin.showproductinmodal') !!}"
// AJAX request
$.ajax({
url: url,
type: 'post',
data: {
id: productid
},
success: function (response) {
// Add response in Modal body
$('.modal-body').html(response);
}
});
});
});
如果您使用引导程序 model 事件,并使用基础 url 和 javascript 全局变量,它会更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.