gpt4 book ai didi

PHP 变量在后续 AJAX 调用中返回 "default"

转载 作者:可可西里 更新时间:2023-10-31 23:46:28 26 4
gpt4 key购买 nike

我试图在另一个 if 语句中使用变量集,但它一直返回未定义。这是 PHP 代码:

if(isset($_POST['bookingTime'])){
$bookingTime = $_POST['bookingTime'];
$bookingDate = $_POST['theDate'];
$dbDateTime = $bookingDate." ".$bookingTime;
echo json_encode($dbDateTime);
exit;
}

if(isset($_POST['bookingPwd'])){
$pwd = $_POST['txtBookingPwd'];
//Get the $dbDateTime variable???
echo $pwd;
}

$dbDateTime 变量被设置为对 AJAX 请求的响应并返回到 jQuery,但我需要该变量用于数据库查询。如何在另一个 if 语句中使用该变量?我觉得我对 php 的理解缺少一些真正基本的东西。我试过全局变量,但没有运气。

更新

删除 exit 没有任何区别。 $dbDateTime 变量仍然没有显示在第二个 if 语句中。这是我运行来测试的 PHP 代码:

if(isset($_POST['bookingTime'])){
$bookingTime = $_POST['bookingTime'];
$bookingDate = $_POST['theDate'];
$dbDateTime = $bookingDate." ".$bookingTime;
// echo json_encode($dbDateTime);
// exit;
}

if(isset($_POST['bookingPwd'])){
$pwd = $_POST['txtBookingPwd'];
//Get the $dbDateTime variable???
echo $dbDateTime;
echo $pwd;
$booking->newBooking($dbDateTime, $pwd);
}

该变量是根据 AJAX 请求设置的,该请求具有从 HTML 表格中获取的时间值。然后打开一个模式供用户输入他/她的密码以在选定的时间预订法庭。我在想也许 PHP 没有存储值,因为变量是在不同的操作中设置的?

第二次更新

session 有效,但尝试通过下一个 AJAX 调用传递 $dbDateTime 的值。这是 jQuery 代码:

var bookingTime;
var dbDatetime;

$('.courtBook').click(function() {
// Find the row
var $row = $(this).closest('tr');
// Find the text
var bookingTime = $row.find('.courtTime').text()+":00";
var theDate = $('#theDate').text();

$.ajax({
url: 'index.php?page=booking',
type: 'POST',
dataType: 'json',
data: {'bookingTime': bookingTime, 'theDate': theDate},
success: function(data){
var dbDatetime = data;
alert(dbDatetime);
},
error: function(){
alert('Much wrong, such sad');
}
});
});

$('#btnBookingPwd').click(function(){
console.log(bookingTime);
console.log(dbDatetime);
});

在最后一次点击函数中,变量变为未定义。那么,这在 jQuery 中是如何工作的?

最佳答案

您的 HTML 页面和 PHP 脚本不交换有状态数据。

每次您的 AJAX 代码在 HTML 页面中运行时,都会对 PHP 脚本进行新的调用。每次调用 PHP 脚本时,变量都会根据代码以默认状态开始。如果您想在一个 AJAX 调用中使用一个变量到下一个,则必须在下次调用 PHP 脚本时发送它。

尝试将您为 dbDateTime 返回的值添加为后续 AJAX 调用的参数,我认为您会走上正确的道路。

更新

您的 AJAX 即将实现。尝试在此处删除 var:

    success: function(data){
var dbDatetime = data;
alert(dbDatetime);
},

关于PHP 变量在后续 AJAX 调用中返回 "default",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34445524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com