我需要通过AJAX发送表单数据,以便可以在Laravel中轻松访问它(或使用标准的PHP方法)。它实际上是使用Stripe Checkout的表单,因此我不再自动提交表单,因此可以通过AJAX发送。目前,我有下面的代码,但是怀疑在$ .ajax中引用变量“ formdata”之前的格式不正确。
我需要怎么做才能正确格式化?
理想情况下,我想作为常规POST var访问后端的单独表单元素(或者实际上我正在使用Laravel,因此通过Request-> input()方法),
>谢谢
$('#booking-form').get(0).submit = function() {
var formdata = $(this).serializeArray();
$.ajax({
type: 'POST',
url: 'book',
data: { formdata },
success: function (data)
{
// Form submitted and processed correctly, success returned
},
error: function (data)
{
// console.log('Error:', data.responseText);
}
});
后端(Laravel 5.4,但如果需要的话,我可以使用原始PHP):
public function book(Request $request)
{
$formfield1 = $request->input('formfield1');
$formfield2 = $request->input('formfield2');
[etc.]
}
答案 0 :(得分:0)
尝试一下:
$(document).ready( function() {
$('#booking-form').submit( function( e ) {
e.preventDefault();
$.ajax({
type: 'POST',
url: 'book',
data: $('#booking-form').serialize(),
success: function (data) {
// Form submitted and processed correctly, success returned
},
error: function (data) {
// console.log('Error:', data.responseText);
}
});
});
});
对Laravel并不十分熟悉,但是肯定可以通过本机PHP(即$_POST['formfield1']
)访问表单字段。