gpt4 book ai didi

php - 如何通过Ajax发送php变量仅当它不为空时

转载 作者:行者123 更新时间:2023-12-01 08:39:14 25 4
gpt4 key购买 nike

所以我有 4 个名为 $description,$hscode,$from,$to 的 php 变量,我想通过 AJAX 请求发送这些变量。我不完整的尝试是这样的:

function searchFilter(page_num) {
page_num = page_num?page_num:0;

$.ajax({
type: 'POST',
url: 'getData.php',
data: { page : +page_num, "desc" : "<?php print $description ?>","hscode" : "<?php print $hscode ?>","from" : "<?php print $from ?>","to" : "<?php $to ?>" },

beforeSend: function () {
$('.container-fluid').waitMe({
effect : 'stretch',
bg : 'rgba(255,255,255,0.7)'
});
},
success: function (html) {
$('#posts_content').html(html);
$('.container-fluid').waitMe("hide");
}
});
}

问题是,PHP 变量是动态的,意味着它们并不总是被设置,有时仅设置 $description,有时仅设置 $hscode,有时 $ description$hscode 仅设置,此类型有 6 种组合。请帮助在这种情况下我该如何发送此请求。

POSSIBLE Answer:

代码工作正常,但我很困惑这是正确的方法吗,如果我错了,请纠正我,我的工作代码是:

function searchFilter(page_num) {
page_num = page_num?page_num:0;

$.ajax({
type: 'POST',
url: 'getData.php',
data : { page : +page_num,
<?php if(isset($description)){ echo '"desc"'.' : '. "'$description'" . ',';} ?>
<?php if(isset($hscode)){ echo '"hscode"'.' : '. "'$hscode'" . ',';} ?>
<?php if(isset($from)){ echo '"from"'.' : '. "'$from'" . ',';} ?>
<?php if(isset($to)){ echo '"to"'.' : '. "'$to'" . ',';} ?> },


beforeSend: function () {
$('.container-fluid').waitMe({
effect : 'stretch',
bg : 'rgba(255,255,255,0.7)'
});
},
success: function (html) {
$('#posts_content').html(html);
$('.container-fluid').waitMe("hide");
}
});
}

最佳答案

首先,您可以检查变量是否已设置,如果已设置,则将这些变量附加到ajax数据中。尝试以下代码:

function searchFilter(page_num) {
page_num = page_num?page_num:0;
send_data = {};
send_data.page = +page_num;
<?php if (isset($description)): ?>
send_data.desc = "<?php echo $description ?>";
<?php endif; ?>
<?php if (isset($hscode)): ?>
send_data.hscode = "<?php echo $hscode ?>";
<?php endif; ?>
<?php if (isset($from)): ?>
send_data.from = "<?php echo $from ?>";
<?php endif; ?>
<?php if (isset($to)): ?>
send_data.to = "<?php echo $to ?>";
<?php endif; ?>

$.ajax({
type: 'POST',
url: 'getData.php',
data: send_data,

beforeSend: function () {
$('.container-fluid').waitMe({
effect : 'stretch',
bg : 'rgba(255,255,255,0.7)'
});
},
success: function (html) {
$('#posts_content').html(html);
$('.container-fluid').waitMe("hide");
}
});
}

关于php - 如何通过Ajax发送php变量仅当它不为空时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49511592/

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