Jquery $ .post问题

时间:2013-08-27 04:34:07

标签: php javascript jquery

我想将我的帖子数据发送到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;
}

帮我查找此代码的错误。

5 个答案:

答案 0 :(得分: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 :(得分: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;
}

答案 2 :(得分: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;     
    });
});

答案 3 :(得分: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函数阻止其默认行为。

答案 4 :(得分:0)

尝试这种方式:

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

已更改我已完成:我刚刚引用了发布数据对象的密钥
通过将您的电子邮件值分配给您的帖子数据对象,您做错了。