gpt4 book ai didi

javascript - 如何让php页面从html页面接收ajax帖子

转载 作者:行者123 更新时间:2023-11-30 13:45:00 25 4
gpt4 key购买 nike

我有一个非常简单的表单,其中有一个名字输入字段。我捕获表单数据并使用标准 jQuery 发布方法通过 ajax 将其传输到 PHP 页面。但是,我根本无法从 PHP 页面获得任何在服务器端捕获任何数据的响应。我不确定我做错了什么或遗漏了什么。

这是我的代码。

表格:

<form action="process.php" method="POST">
<div class="form-group">
<div class="form-row">
<div class="col-md-6 mb-3">
<label for="firstName">First name</label>
<input type="text" class="form-control" name="firstName" id="firstName" placeholder="First name">
<div class="d-none" id="firstName_feedback">
<p>Please enter a first name.</p>
</div>
</div>
</div>
</div>
<button class="btn btn-primary" type="submit">Submit form</button>
</form>

这是我的 Jquery Ajax 调用:

<script>
$(document).ready(function() {
$('form').submit(function(event) {
var formData = $("form").serialize();
console.log(formData);
$.ajax({
type: 'POST',
url: 'form.php',
data: formData,
dataType: 'json',
encode: true
})
.done(function(data) {
console.log(data);
});
event.preventDefault();
});

});


</script>

这是我的 PHP 页面:

if(isset($_POST['formData']))    
$ajaxData = ($_POST['formData']);
echo $ajaxData;
{
}

最佳答案

在您的 Ajax 函数中,您将 formData 的内容传递给服务器,但不是作为 formData 而是作为它们的原始输入名称。

在这种情况下,您有:

<input type="text" class="form-control" name="firstName" id="firstName" placeholder="First name">

输入的名称是 firstName,因此您需要调用 $_POST['firstName'] 而不是 $_POST['formData']

if (isset($_POST['firstName'])) {
$ajaxData = $_POST['firstName'];
echo $ajaxData;
}

这同样适用于您在表单中的任何其他字段,例如,使用名称 lastName 的另一个输入意味着您必须调用 $_POST['lastName '] 访问它。

我在上面容纳的 PHP 代码中也有一些错位的括号和圆括号。

关于javascript - 如何让php页面从html页面接收ajax帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59506725/

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