Я хочу передать данные массива контроллеру от laravel до ajax. Вот мой метод контроллера.
public function Verify(Request $request) {
$this->validate($request, [
'first_name' => 'required',
'middle_name' => 'required',
'last_name' => 'required',
'email' => 'email:rfc,dns',
'areacode' => 'required|digits:2',
'phonenumber' => 'required|digits:7',
'streetaddress' => 'required',
'streetaddressline_2' => 'required',
'city' => 'required',
'province' => 'required',
'postcode' => 'required',
'country' => 'required',
]);
$input = $request->all();
$customer = new Customer();
$customer->name = $input['first_name'] . ' ' . $input['middle_name'] . ' ' . $input['last_name'];
$customer->email = $input['email'];
$customer->contactno = $input['areacode'] . $input['phonenumber'];
$customer->streetaddress = $input['streetaddress'];
$customer->streetaddressline_2 = $input['streetaddressline_2'];
$customer->city = $input['city'];
$customer->province = $input['province'];
$customer->postcode = $input['postcode'];
$customer->country = $input['country'];
$customer->save();
$order = new \App\Order();
$order->status = 'pending';
$order->customer_id = $customer->id;
$order->save();
$productsIds = session()->get('products.id');
for ($i = 0; $i < count($productsIds); $i++) {
$orderproduct = new OrderProduct();
$orderproduct->order_id = $order->id;
$orderproduct->product_id = $productsIds[$i];
$orderproduct->save();
}
Mail::to('irfan.elahi187@gmail.com')->send(new \App\Mail\OrderCreated($customer));
// session()->put('products.id', []);
return redirect('/createpayment');
}
Мой веб-маршрут -
Route::post('/verifydata', 'HomeController@verify')->name('verify');
, а ниже приведен мой файл javascript, в котором дан вызов ajax
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
function getCustomerInfo() {
var first_name = document.getElementById('fname').value;
var middle_name = document.getElementById('mname').value;
var last_name = document.getElementById('lname').value;
var email = document.getElementById('email').value;
var areacode = document.getElementById('areacode').value;
var phonenumber = document.getElementById('phonenumber').value;
var streetaddress = document.getElementById('streetaddress').value;
var streetaddressline_2 = document.getElementById('streetline2').value;
var city = document.getElementById('city').value;
var province = document.getElementById('province').value;
var postcode = document.getElementById('zip').value;
var country = document.getElementById('country').value;
var customer_data = {
first_name: first_name,
middle_name: middle_name,
last_name: last_name,
email: email,
areacode: areacode,
phonenumber: phonenumber,
streetaddress: streetaddress,
streetaddressline_2: streetaddressline_2,
city: city,
province: province,
postcode: postcode,
country: country
};
console.log(customer_data);
if (
first_name &&
middle_name &&
last_name &&
areacode &&
phonenumber &&
streetaddress &&
streetaddressline_2 &&
city &&
province &&
postcode &&
country
) {
$.ajax('/verifydata',
{
method: 'POST',
dataType: 'json', // type of response data
success: function () { // success callback function
alert('success');
},
error: function () { // error callback
alert('error');
}
});
} else {
document.getElementById('error-message').style.display = 'block';
}
};
customer_data - это мой массив, и я хочу передать его методу контроллера (указанному выше) через ajax. Я нахожусь на стадии обучения и хочу узнать, как массивы проходят через ajax. Как я могу это сделать?