ajax - 带有ajax的Laravel不保存数据
问题描述
您好我正在尝试在我的 laravel 项目中实现 ajax 以保存记录。
首先,我在视图中显示产品列表。以下脚本用于从数据库中获取产品。这没有任何问题:
<script>
var Show = function(id) {
var route = "{{url('products')}}/"+id+"/showProduct";
$.get(route, function(data) {
$("#name").val(data.pro_nom);
$("#price").val(data.pro_prec);
$("#pro_id").val(data.pro_id);
});
}
</script>
这是我在模式中发送数据的按钮
<button type="button" class="btn btn-primary" id="addProduct">Save</button>
这是 Ajax 脚本:
$("#addProduct").click(function() {
var dc_cant=1;
var col_id=1;
var pro_id=$("#pro_id").val();
var route="{{action('ProductsController@store')}}";
var token=$("#token").val();
$.ajax({
url: route,
headers:{'X-CSRF-TOKEN':token},
type:'POST',
dataType:'json',
data: {
pro_id: pro_id,
dc_cant: dc_cant,
col_id: cold_id
},
success: function(data) {
if (data.success=='true') {
alert("save");
}
},
error: function(data) {
alert("error");
}
});
});
这是控制器中的代码:
public function store(Request $request)
{
if ($request->ajax()) {
$result = detail_product::insert($request->all());
if ($result) {
return response()->json(['success'=>'true']);
} else {
return response()->json(['success'=>'false']);
}
}
}
没有记录保存,我不知道我的代码在哪里失败,这是我第一次尝试实现 ajax,直到模态显示它的工作数据的那一刻,但是当我按下保存它什么都不做
解决方案
如果您没有添加 csrf 令牌的元标记,您可以添加它。
<meta name="csrf-token" content="{{ csrf_token() }}" />
然后在jquery中,
<script>
$(document).ready(function(){
var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content');
$(".postbutton").click(function(){
$.ajax({
url: '/storeProduct', //put your url here directly
type: 'POST',
/* send the csrf-token and the input to the controller */
data: {_token: CSRF_TOKEN, pro_id: pro_id,
dc_cant: dc_cant,
col_id: col_id
},
dataType: 'JSON',
/* here 'data' is the response of the Controller */
success: function (data) {
$(".writeinfo").append(data.msg);
}
});
});
});
</script>
$request->pro_id, $request->col_id
以.. 等方式访问数据。
推荐阅读
- sql - 如果连接存在,则从连接表返回值
- html - Bootstrap 4:如何使一列垂直跨越同一行中的其他两列?
- c# - 在 WPF 视图模型上调用 OnPropertyChanged 的属性
- ruby-on-rails - 在 Bootstrap 和 Rails 上向左移动表单框
- android - 高效的数据库调用来更新回收器视图
- database - 为机器学习存储/索引/管理大量图像训练数据的最佳方式?
- android - 我想在线性布局中的图像视图上设置搜索视图
- python - 如何在 python 中查看使用图形生成的网络?
- c++ - 为什么 clang 和 gcc 的这种不同行为
- javascript - javascript 算法“埃拉托色尼筛法”