Ajax JSON PHP Stringify 没有发布但返回成功
Ajax JSON PHP Stringify not posting but returning successfully
我有一个 ajax 脚本,它从输入中收集值,然后使用 MYSQLI
.
插入到 mysql 数据库中
当我单击按钮时,唯一 ID 成功返回,但 post 值中的 none 被插入到数据库中。此外,当单独测试 post 值时,它们也不会显示为到达 posted php 脚本。
在 运行 之后,唯一的 ID 在数据库中,但没有存储其他信息。
Q. How come the variables not reaching the PHP, thus preventing me from a successful insertion to the database?
Ajax
$('#postData').click(function() {
smallVan_getForm_values();
$.ajax({
type: "POST",
dataType: "json",
url: "//xxxxx",
data: JSON.stringify({
book_email:book_email,
book_clientTitle : book_clientTitle,
book_firstname : book_firstname,
book_lastname :book_lastname,
book_dateofbirth : book_dateofbirth,
book_primarycontactnumber : book_primarycontactnumber,
book_secondarycontactnumber : book_secondarycontactnumber,
departing_first_lineaddress : departing_first_lineaddress,
departing_second_lineaddress : departing_second_lineaddress,
departing_postcode : departing_postcode,
destination_first_lineaddress : destination_first_lineaddress,
destination_second_lineaddress : destination_second_lineaddress,
destination_postcode : destination_postcode,
amount : amount,
book_consignmentdate : book_consignmentdate,
book_timeofbooking : book_timeofbooking,
book_additionalnotes : book_additionalnotes
}),
contentType: "application/json; charset=utf-8",
success: function (result) {
// alert(result);
if (result.status == "success"){
uniqueID = result.uniqueID;
alert(uniqueID);
}
}
});
});
});
//AJAX END
PHP
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{ //if request made from localserver then proceed here
insertData();
}
function insertData() {
$uniqueID = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ", 10)), 0, 10);
$conn=mysqli_connect("xxxx","xxx","xxxxx^","xxxxx");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Perform queries
mysqli_query($conn,"INSERT INTO bookings_table ( booking_uniqueID , book_email , book_clientTitle , book_firstname , book_lastname , book_dateofbirth , book_primarycontactnumber , book_secondarycontactnumber , departing_first_lineaddress , departing_second_lineaddress , departing_postcode , destination_first_lineaddress , destination_second_lineaddress , destination_postcode , amount , book_consignmentdate , book_timeofbooking , book_additionalnotes )
VALUES ( '$uniqueID' , '$_POST[book_email]' , '$_POST[book_clientTitle]' , '$_POST[book_firstname]' , '$_POST[book_lastname]' , '$_POST[book_dateofbirth]' , '$_POST[book_primarycontactnumber]' , '$_POST[book_secondarycontactnumber]' , '$_POST[departing_first_lineaddress]' , '$_POST[departing_second_lineaddress]' , '$_POST[departing_postcode]' , '$_POST[destination_first_lineaddress]' , '$_POST[destination_second_lineaddress]' , '$_POST[destination_postcode]' , '$_POST[amount]' , '$_POST[book_consignmentdate]' , '$_POST[book_timeofbooking]' , '$_POST[book_additionalnotes]' )");
mysqli_close($conn);
echo json_encode(array('status' => 'success', 'uniqueID' => $uniqueID));
}
只需删除您的 JSON.stringify()。
data: {
book_email:book_email,
book_clientTitle : book_clientTitle,
book_firstname : book_firstname,
book_lastname :book_lastname,
book_dateofbirth : book_dateofbirth,
book_primarycontactnumber : book_primarycontactnumber,
book_secondarycontactnumber : book_secondarycontactnumber,
departing_first_lineaddress : departing_first_lineaddress,
departing_second_lineaddress : departing_second_lineaddress,
departing_postcode : departing_postcode,
destination_first_lineaddress : destination_first_lineaddress,
destination_second_lineaddress : destination_second_lineaddress,
destination_postcode : destination_postcode,
amount : amount,
book_consignmentdate : book_consignmentdate,
book_timeofbooking : book_timeofbooking,
book_additionalnotes : book_additionalnotes
},
我有一个 ajax 脚本,它从输入中收集值,然后使用 MYSQLI
.
当我单击按钮时,唯一 ID 成功返回,但 post 值中的 none 被插入到数据库中。此外,当单独测试 post 值时,它们也不会显示为到达 posted php 脚本。
在 运行 之后,唯一的 ID 在数据库中,但没有存储其他信息。
Q. How come the variables not reaching the PHP, thus preventing me from a successful insertion to the database?
Ajax
$('#postData').click(function() {
smallVan_getForm_values();
$.ajax({
type: "POST",
dataType: "json",
url: "//xxxxx",
data: JSON.stringify({
book_email:book_email,
book_clientTitle : book_clientTitle,
book_firstname : book_firstname,
book_lastname :book_lastname,
book_dateofbirth : book_dateofbirth,
book_primarycontactnumber : book_primarycontactnumber,
book_secondarycontactnumber : book_secondarycontactnumber,
departing_first_lineaddress : departing_first_lineaddress,
departing_second_lineaddress : departing_second_lineaddress,
departing_postcode : departing_postcode,
destination_first_lineaddress : destination_first_lineaddress,
destination_second_lineaddress : destination_second_lineaddress,
destination_postcode : destination_postcode,
amount : amount,
book_consignmentdate : book_consignmentdate,
book_timeofbooking : book_timeofbooking,
book_additionalnotes : book_additionalnotes
}),
contentType: "application/json; charset=utf-8",
success: function (result) {
// alert(result);
if (result.status == "success"){
uniqueID = result.uniqueID;
alert(uniqueID);
}
}
});
});
});
//AJAX END
PHP
if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && !empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
{ //if request made from localserver then proceed here
insertData();
}
function insertData() {
$uniqueID = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWYXZ", 10)), 0, 10);
$conn=mysqli_connect("xxxx","xxx","xxxxx^","xxxxx");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
// Perform queries
mysqli_query($conn,"INSERT INTO bookings_table ( booking_uniqueID , book_email , book_clientTitle , book_firstname , book_lastname , book_dateofbirth , book_primarycontactnumber , book_secondarycontactnumber , departing_first_lineaddress , departing_second_lineaddress , departing_postcode , destination_first_lineaddress , destination_second_lineaddress , destination_postcode , amount , book_consignmentdate , book_timeofbooking , book_additionalnotes )
VALUES ( '$uniqueID' , '$_POST[book_email]' , '$_POST[book_clientTitle]' , '$_POST[book_firstname]' , '$_POST[book_lastname]' , '$_POST[book_dateofbirth]' , '$_POST[book_primarycontactnumber]' , '$_POST[book_secondarycontactnumber]' , '$_POST[departing_first_lineaddress]' , '$_POST[departing_second_lineaddress]' , '$_POST[departing_postcode]' , '$_POST[destination_first_lineaddress]' , '$_POST[destination_second_lineaddress]' , '$_POST[destination_postcode]' , '$_POST[amount]' , '$_POST[book_consignmentdate]' , '$_POST[book_timeofbooking]' , '$_POST[book_additionalnotes]' )");
mysqli_close($conn);
echo json_encode(array('status' => 'success', 'uniqueID' => $uniqueID));
}
只需删除您的 JSON.stringify()。
data: {
book_email:book_email,
book_clientTitle : book_clientTitle,
book_firstname : book_firstname,
book_lastname :book_lastname,
book_dateofbirth : book_dateofbirth,
book_primarycontactnumber : book_primarycontactnumber,
book_secondarycontactnumber : book_secondarycontactnumber,
departing_first_lineaddress : departing_first_lineaddress,
departing_second_lineaddress : departing_second_lineaddress,
departing_postcode : departing_postcode,
destination_first_lineaddress : destination_first_lineaddress,
destination_second_lineaddress : destination_second_lineaddress,
destination_postcode : destination_postcode,
amount : amount,
book_consignmentdate : book_consignmentdate,
book_timeofbooking : book_timeofbooking,
book_additionalnotes : book_additionalnotes
},