Mashhood Ali
Mashhood Ali

Reputation: 127

$.ajax is not returning the response

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

Answers (2)

Dimitrios Desyllas
Dimitrios Desyllas

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

Maninderpreet Singh
Maninderpreet Singh

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

Related Questions