2013-08-27 67 views
1

我想將我的發佈數據發送到login.php頁面。但問題是$.post()無法正常工作。告訴我這段代碼的錯誤。

/includes/login.page(這個人是一個燈箱)

<form id="forgot-username-form" method="post" > 
        <label id="email">Forgotten your username ?</label> 
        <input type="email" name="forgot_username" id="user-email" /> 
        <input type="submit" name="forgot_username" value="Send"/> 
       </form> 

/script/username.js

$(document).ready(function(){ 
$("#forgot-username-form").submit(function() { 
    var email = $("#user-email").val();  
    alert(email); 

    $.post("login.php",{email:email},function(result){ 
      alert(result); 
    });  

}); 
}); 

/login.php

if(isset($_POST['email'])){ 
    $email = $_POST['email']; 
    echo $email; 
} 

幫助我找到這段代碼的錯誤。

+0

現在,您最後一次編輯,即在'login.php'中將'$ _GET'更改爲'$ _POST',使所有答案都不正確。 – vee

+0

@vinodadhikary - 是的,這是一個錯誤。我正在嘗試使用GET,但發現相同的結果。 :( – Nytram

回答

0

你需要嘗試與POST由於您使用$.POST$.GET

if(isset($_POST['email'])){ 
    $email = $_POST['email']; 
    echo $email; 
} 

,你也需要防止提交動作像

$(document).ready(function(){ 
    $("#forgot-username-form").submit(function(e) { 
     e.preventDefault();  // Prevent Here 
     var email = $("#user-email").val();  
     alert(email); 

     $.post("login.php",{email:email},function(result){ 
      alert(result); 
     }); 
     return false;  
    }); 
}); 
1
$(document).ready(function(){ 
    $("#forgot-username-form").submit(function(e) { //<--note the "e" argument 
     e.preventDefault(); //<--you forgot this 
     var email = $("#user-email").val();  
     alert(email); 

     $.post("login.php",{email:email},function(result){ 
      alert(result); 
     });  
     return false; //<--or you can use this 
    }); 
}); 

和捕獲$_POST

if(isset($_POST['email'])): 
    $email = $_POST['email']; 
    echo $email; 
endif; 
1

試試這個,

if(isset($_POST['email'])){ 
    $email = $_POST['email']; 
    echo $email; 
} 

如果你想使用$_GET方法再試試它像,

SCRIPT

$.get("login.php",{email:email},function(result){ 
     alert(result); 
}); 

PHP頁面login.php

if(isset($_GET['email'])){ 
    $email = $_GET['email']; 
    echo $email; 
} 
0

你正在做正確的只有你需要做出改變的是在腳本

$(document).ready(function(){ 
$("#forgot-username-form").submit(function(e) { 
    e.preventDefault() 
    var email = $("#user-email").val();  
    alert(email); 

    $.post("login.php",{email:email},function(result){ 
     alert(result); 
    });  

}); 
}); 

在提交功能添加參數e事件並防止e.preventDefault功能的默認行爲。

0

試試這個方法:

$.post("login.php",{'email':email},function(result){ 
     alert(result); 
}); 

改變我這樣做:我剛纔引用您的後的數據對象的關鍵
通過將您的電子郵件值分配給您的發佈數據對象,您做錯了。