2016-03-20 16 views
1

こんにちは、私はこれを何度もやったことがありましたが、今問題が何であるかわからない、私は髪を引っ張ってきましたこれで一日のうちに、私は完全、エラー、または.doneを使ってみましたが、何も動作しません。私がやっていることは、ajaxを介してデータを挿入し、データが挿入された場合に応答を取得することです。データは正しく挿入されますが、応答が得られないので、助けてください。

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); 
     } 

    }); 



}); 

}); 
+0

、あなたはajax.phpからのレスポンスボディとして「データが愛を入力すると」見ていますか?成功関数に2番目のパラメータを追加して、それを警告してください。つまり、 'success:function(r、s){ alert(r);警告(s); } ' –

+1

あなたは伝統的にフォームを投稿することを妨げているわけではありません。つまり、' e.PreventDefault(); 'です。したがって、あなたのjsコードは 'ajax.php'に' $ .ajax() 'を行いますが、あなたのページはあなたのフォームの投稿によって更新され、レスポンスを' alert() 'しません。 – Sean

+0

@RobGudgeon ..いいえネットワークのタブを確認しましたが、応答がありません –

答えて

1

は、これらの線に変更した後に試してみてください

$(".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); 
    } 

}); 
+0

Seanが示している私の答えに似ていると思われます。 –

+0

私はそれを唯一のものに変更します。そうでなければ、私は何か間違ったことを発見できません。はい、私はあなたがうそが正しいと思う:) –

+0

ええ、これは、感謝の男、うれしい作品! –

0

はどのようにする代わりに、このことについて:あなたは、Firefox /クロームでデベロッパーコンソールを使用するとネットワーク]タブを見れば

$.post("aqjax.php",{fn:fname,ln:lname,em:email,pwd:pass}) 
.done(function(data) 
{ 
//Do stuff here 
}) 
関連する問題