我终于让我的AJAX函数正常工作了,它正确地将数据发送到了控制器。但只有当要发送的数据包含在表单action- /UoE/buy-product/{{product_id}}中时,它才会起作用。但我只希望表单操作为/UoE/buy-product/,否则我实际上会发送两次数据。一次在这里,一次在我的ajax函数中。
这是我的观点
<form class="buy-product-form" id="{{$product->id}}" action="{{url('/UoE/buy-product')}}" method="POST">
{{csrf_field()}}
<button class="pull-right btn btn-primary">BUY NOW</button>
</form>
下面是我的AJAX函数
$(document).ready(function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$('form.buy-product-form').on('submit', (function (e) {
e.preventDefault();
var product_id = $(this).closest("form").attr("id");
$.ajax({
url: $(this).closest("form").attr('action'),
type: 'POST',
data: {'id': product_id},
dataType: 'JSON',
success: function () {
window.alert($(this).closest("form").attr('action'));
}
});
}));
});
下面是我的控制器的第一行(这里的其他一切都运行正常)
public function buyProduct(Request $request){
$product_id = $request->id;
这是我的routes.php文件
Route::post('/{university_code}/buy-product', 'UserController@buyProduct');
发布于 2020-03-24 23:13:15
我设法修复了它,我更改了路由文件,并在单击按钮时将其删除。
https://stackoverflow.com/questions/57434228
复制相似问题