我通过 AJAX 向 PHP 发送一些表单数据。使用 AJAX 发送数据之前会显示输入字段的值,但在 PHP 脚本中接收到的值为 NULL。
$(document).ready(function(){
$('#my_form').submit(function(){
event.preventDefault();
var form = $('form')[0];
var formData = new FormData(form);
$.ajax({
url: "signup.php",
enctype: "multipart/form-data",
cache: false,
type: "post",
dataType: "html",
data: formData,
processData: false,
success: function(response){
//do something
},
error: function (xhr, ajaxOptions, thrownError) {
// some alert
}
});
});
});
PHP
<?php
//.......
$fname=$_POST['fname'];
$lname=$_POST['lname'];
//.......
?>
HTML
<form id="my_form" method="post">
<input type="text" id="fname" name="fname" class="inputname" placeholder="First Name" required/>
<input type="text" id="lname" name="lname" class="inputname" placeholder="Last Name" required/>
<input type="submit" value="BUTTON" class="submitbtn">
</form>
我收到一些 undefined index :fname 警告
最佳答案
您可以使用serialize() jquery 中的函数。
$(document).ready(function(){
$('#my_form').submit(function(){
event.preventDefault();
var data = $(this).serialize();
$.ajax({
url: "signup.php",
cache: false,
type: "post",
data: data,
success: function(response){
//do something
},
error: function (xhr, ajaxOptions, thrownError) {
// some alert
}
});
});
});
<?php
$fname=$_POST['fname'];
$lname=$_POST['lname'];
echo $fname;
echo $lname;
?>
关于php - AJAX 不向 PHP 发送表单数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33317578/