Reputation: 127
Hello there i'm having trouble getting the response of ajax request, i had done this many times but i don't know what's the problem is now, I've been pulling my hair for a day now in this,i had tried using complete, error or .done, nothing works. What i'm doing is to insert data through ajax and then get the response if data is inserted, now the data is inserted fine but i'm not getting the response, can you please help me, and there are no console errors.
insert_ajax.php
<?php
?>
<html>
<head>
<title>Basic Ajax Insert</title>
<link rel="stylesheet" href="style/style.css" type="text/css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" type="text/css"/>
<script src="jquery-1.3.1.min.js"></script>
<script src="custom.js"></script>
</head>
<body>
<div class="container">
<div id="succ"></div>
<h2 class="text-warning">Basic Information</h2>
<form id="form" action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" autocomplete="off">
<div class="form-group col-md-6">
<label class="text-warning">First Name: </label>
<input class="form-control first_name" type="text" name="fname" />
</div>
<div class="form-group col-md-6">
<label class="text-warning">Last Name: </label>
<input class="form-control last_name" type="text" name="lname" />
</div>
<div class="form-group col-md-6">
<label class="text-warning">Email: </label>
<input class="form-control email" type="text" name="email" />
</div>
<div class="form-group col-md-6">
<label class="text-warning">Password: </label>
<input class="form-control pwd" type="password" name="pass" />
</div>
<button class="btn btn-warning" name="btn_sub">Send</button>
</form>
</div>
</body>
</html>
ajax.php
<?php
$con=mysqli_connect("localhost","root","","practices");
if(isset($_REQUEST['em'])){
echo'email received..: '.$_REQUEST['em'];
}
$fname=$_REQUEST["fn"];
$lname=$_REQUEST["ln"];
$email=$_REQUEST["em"];
$pass=$_REQUEST["pwd"];
//echo "returned";
$ins="insert into `user` (`first_name`,`last_name`,`email`,`password`)
values('$fname','$lname','$email','$pass')";
$query=mysqli_query($con,$ins);
if($query){
echo "Data is entered Love";
}
?>
custom.js
$(document).ready(function(){
$(".btn").click(function(){
var fname=$(".first_name").val();
var lname=$(".last_name").val();
var email=$(".email").val();
var pass=$(".pwd").val();
$.ajax({
method: "POST",
url : "ajax.php",
data: {fn:fname,ln:lname,em:email,pwd:pass},
success: function(r){
alert(r);
}
});
});
});
Upvotes: 1
Views: 57
Reputation: 10032
How about this Instead:
$.post("aqjax.php",{fn:fname,ln:lname,em:email,pwd:pass})
.done(function(data)
{
//Do stuff here
})
Upvotes: 0
Reputation: 2587
Try after changing to these lines,
$(".btn").on("click",function(e){
e.preventDefault();
var fname=$(".first_name").val();
var lname=$(".last_name").val();
var email=$(".email").val();
var pass=$(".pwd").val();
$.ajax({
method: "POST",
url : "ajax.php",
data: {fn:fname,ln:lname,em:email,pwd:pass},
success: function(ind,val){
console.log(ind);
console.log(val);
}
});
Upvotes: 1