php - 在 Laravel 中使用 ajax 将 url 加载到引导模式不起作用
问题描述
在 Laravel -Controller 中,名称是ProductController,方法是showproductinmodal。我试过这个,它工作的javascript代码。
网络路线:
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>
网址已加载并将一些文本返回到模态。但是这个 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);
}
});
});
});
我的网络路由代码
Route::post('admin/product/show/', 'Admin\ProductController@showproductinmodal')->name('admin.showproductinmodal');
我的控制器代码:
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);
}
});
});
});
如果您将使用引导模型事件并使用带有 javascript 全局变量的基本 url,它会更好。
推荐阅读
- python - Python Rich 表中的列表列表
- django - 用于非常大的查询集的 Django 管理表格内联查找选择下拉框
- reference - 如何在库 (WixLib) 中定义 HarvestDirectory 元素,以便与该库关联的 Wix 项目不需要实现它?
- java - Java 记录和每个文件的单个类限制
- visual-studio-code - 寻找类似VS Code Remote SSH Extension的PyCharm Remote Dev体验
- python - 计算每类的词频
- javascript - Select2 下拉搜索正在消失/未找到结果
- reactjs - 反应迭代 json api 到 setState 变量
- python - 附加维度 numpy 数组
- php - 在 Laminas API 工具中使用 Zend Framework 1 库 - 自动加载供应商前缀类