AJAX not sending form data to PHP
Jerry
I am sending some form data to PHP via AJAX. Before sending the data using AJAX, the value of the input field is displayed, but in the PHP script, the value received is 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>
I get some undefined indexes: fname warning
Vijay P
You can use serialize() function in 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;
?>