gpt4 book ai didi

javascript - 管理通过ajax发送到php的表单数据+其他变量

转载 作者:行者123 更新时间:2023-12-03 06:12:06 24 4
gpt4 key购买 nike

我的问题可能很基本,但有一个问题:

我有一个 javascript 函数,它通过 ajax 发送数组来处理一些信息...

  var second = $('form.contact').serialize();
var arry = {keystatus: varId, keyname: second}

在 php 中,我将通过 ajax 发送的数据添加到一个数组中,并编写了一个 echo 来查看 ajax 成功情况,并通过 console.log 显示。

我能得到什么:

enter image description here

我的 PHP 脚本:

$name = strip_tags($_POST['keystatus']);
$email = strip_tags($_POST['keyname']);

$teste['nome'] = $name;
$teste['email'] = $email;

echo json_encode($teste);

我需要找到一种分离的方法,例如:

$_POST['keyname']['nome'] -> (in this example) discovery
$_POST['keyname']['email'] -> discovery@discovery.com
$_POST['keyname']['usuario'] -> discovery

最佳答案

您当前正在将表单数据作为序列化字符串添加到您发送的对象中。这就是为什么它看起来像这样。

您可以使用所有数据构建一个新对象并使用 ajax 发送该对象:

var data = {
keystatus: varId,
keyname: {
nome: $("#the_nome_input").val(),
email: $("#the_email_input").val(),
usuario: $("#the_usuario_input").val()
}
};

或者您可以添加额外的值(因为它似乎只是一个)作为表单中的隐藏输入字段:

// Add this to the form
<input type="hidden" value="" name="keystatus" id="keystatus" />


// In your js, add
$("#keystatus").val(varId); // Sets the value
var data = $("form.contact").serialize();

...现在您可以使用 ajax 将数据发送到后端。

如果您想像这样获取数据:$_POST['keyname']['nome']并使用第二种选择,那么您需要将输入字段重命名为:name="keyname[nome]"name="keyname[email]"name="keyname[usuario]"

这将为您提供正确的数据结构和值。

关于javascript - 管理通过ajax发送到php的表单数据+其他变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39274555/

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