我正在尝试将 ajax 变量传递给数据库
I'm trying to pass an ajax variable to a database
我不熟悉 AJAX 但我必须将它用于此项目。现在这就是问题所在。我正在使用支付网关方式,我已经能够成功地 运行 代码,但是我在将 reference 号码提取到我创建的数据库中时遇到问题。以下是我认为问题所在的代码部分。
callback: function(response){
let reference= response.reference;
//Verify payment using jqajax
$.ajax({
type: "GET",
url: "{{ URL::to('verify-payment') }}/"+reference,
success: function (response){
console.log(response);
if(response[0].status == true){
var name = $('#FirstName').val();
var lastname = $('#LastName').val();
var class = $('#class').val();
var amount = $('#amount').val();
var email = $('#email').val();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
//ajax request send
$.ajax({
type: 'GET',
url: 'save-data/'+name+'/'+lastname+'/'+class+'/'+amount+'/'+email+'/'+reference,
success: function(result){
$('form').prepend('<h4 >Payment successful</h4>').css("textAlign", "center");
document.getElementById("paymentForm").reset();
}
});
我正在尝试获取参考号并将其传递到我的数据库中的列中。
这是处理存储数据的控制器方面。
public function save_data($name, $lastname, $classes, $amount, $email, $reference)
{
//
$paymentData = new Payment();
$paymentData->First_name = $name;
$paymentData->Last_name = $lastname;
$paymentData->Class = $class;
$paymentData->Amount = $amount;
$paymentData->Email = $email;
$paymentData->reference->$reference;
$paymentData->save();
return view('');
}
这是我为它创建的路线。
Route::get('save-data/{name}/{lastname}/{class}/{amount}/{email}/{reference}', [PaymentController::class, 'save_data'])->name('save-data');
请注意,当我 运行 代码时,这就是我在控制台上获得的代码。
jquery.min.js:2 GET http://127.0.0.1:8000/save-data/lucy/cage/J%201/200/myemail@gmail.com/775387417 500 (Internal Server Error)
我可以看到参考号已被提取,但我不知道为什么它不会保存到数据库中。
我认为你在 function save_date(...)
中有问题 $paymentData->reference->$reference;
应该是 $paymentData->reference = $reference;
我不熟悉 AJAX 但我必须将它用于此项目。现在这就是问题所在。我正在使用支付网关方式,我已经能够成功地 运行 代码,但是我在将 reference 号码提取到我创建的数据库中时遇到问题。以下是我认为问题所在的代码部分。
callback: function(response){
let reference= response.reference;
//Verify payment using jqajax
$.ajax({
type: "GET",
url: "{{ URL::to('verify-payment') }}/"+reference,
success: function (response){
console.log(response);
if(response[0].status == true){
var name = $('#FirstName').val();
var lastname = $('#LastName').val();
var class = $('#class').val();
var amount = $('#amount').val();
var email = $('#email').val();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
//ajax request send
$.ajax({
type: 'GET',
url: 'save-data/'+name+'/'+lastname+'/'+class+'/'+amount+'/'+email+'/'+reference,
success: function(result){
$('form').prepend('<h4 >Payment successful</h4>').css("textAlign", "center");
document.getElementById("paymentForm").reset();
}
});
我正在尝试获取参考号并将其传递到我的数据库中的列中。 这是处理存储数据的控制器方面。
public function save_data($name, $lastname, $classes, $amount, $email, $reference)
{
//
$paymentData = new Payment();
$paymentData->First_name = $name;
$paymentData->Last_name = $lastname;
$paymentData->Class = $class;
$paymentData->Amount = $amount;
$paymentData->Email = $email;
$paymentData->reference->$reference;
$paymentData->save();
return view('');
}
这是我为它创建的路线。
Route::get('save-data/{name}/{lastname}/{class}/{amount}/{email}/{reference}', [PaymentController::class, 'save_data'])->name('save-data');
请注意,当我 运行 代码时,这就是我在控制台上获得的代码。
jquery.min.js:2 GET http://127.0.0.1:8000/save-data/lucy/cage/J%201/200/myemail@gmail.com/775387417 500 (Internal Server Error)
我可以看到参考号已被提取,但我不知道为什么它不会保存到数据库中。
我认为你在 function save_date(...)
中有问题 $paymentData->reference->$reference;
应该是 $paymentData->reference = $reference;