gpt4 book ai didi

javascript - js $.post 问题

转载 作者:行者123 更新时间:2023-11-30 11:37:20 27 4
gpt4 key购买 nike

我有以下js代码

$('document').ready(function () {
$('#filterSub').click(function (evt) {
var data = $('form').serialize();
var gender = $('#gender').html();

$.post('data.php', {
data,
gender: gender
}, function (resultp) {
$('#List').html(resultp);
});
$.post('filter.php', {
data,
gender: gender
}, function (result) {
$('.addFilter').html(result);
});
// alert(gender);

//return false;
});
});

我正在使用

parse_str($_POST['data'],$_POST);

效果很好,我得到了表单变量。

但是,我正在尝试使用

在我的 PHP 脚本中获取变量“性别”
 $_POST['gender'] 

在 PHP 中。但它没有得到任何东西。 (在脚本中为“性别”设置警报会弹出正确的值)

此外,有什么方法可以将一个命令中的两个帖子查询发送到不同的文件吗?发送的数据是相同的。

我不擅长 JS,所以我觉得我在 $.post 请求格式中犯了一个基本错误。

任何帮助将不胜感激,因为我已经在这上面花了一整天但没有任何成功。

最佳答案

问题是 parse_str($_POST['data'], $_POST); 用解析 data 的结果替换了 $_POST 数组 参数——数组中的任何现有条目都将丢失。所以你失去了 $_POST['gender']

您可以将其解析为不同的数组:

parse_str($_POST['data'], $data);

或者您可以在调用 parse_str() 之前将 gender 参数提取到一个变量中。

$gender = $_POST['gender'];
parse_str($_POST['data'], $data);

另一种选择是完全摆脱 data 参数,只需将序列化字段作为单独的参数发布即可。

    var data = $('form').serialize();
var gender = $('#gender').html();
var params = data + '&gender=' + encodeURIComponent(gender);
$.post('data.php', params, function (resultp) {
$('#List').html(resultp);
});

关于javascript - js $.post 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43913446/

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