使用AJAX帖子传递信息

时间:2014-02-16 03:51:00

标签: javascript php jquery ajax post

我有一个模块列表,用于检索数据库中可用的所有模块。列出的每个模块都包含一个“订阅”按钮。当用户在没有首先登录的情况下单击按钮时,将显示一个登录弹出窗口,要求他/她在订阅模块之前登录。

我需要在这里实现的是将用户的输入发送到服务器,验证用户并将他登录。但是我遇到的问题是用户输入 没有传递给服务器中的正确php文件

module.php:

    <div id="login-form" title="Sign In"> 
                        <p class="validateTips">Please sign in to continue.</p>
                        <form>
                        <fieldset>
                            <label for="username">Username</label>
                            <input type="text" name="username" id="username" class="text ui-widget-content ui-corner-all" />
                            <label for="password">Password</label>
                            <input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
                            <button id="login-button">Login</button>
                        </fieldset>
                        </form>
    </div>

module.js:

$(document).ready(function () {

$("#login-button").click(function() {   
        var post_username = $("#username").val();
        var post_password = $("#password").val();
        $.post("validate.php", {
            username: post_username, 
            password: post_password
        });     
    });


    $("#login-form").dialog({
        autoOpen: false,
        height: 300,
        width: 350,
        modal: true,
        buttons: {

            Cancel: function() {
                $(this).dialog( "close" );
            }
        },
        close: function() {
                $(this).dialog( "close" );
        }   
    });


    $(".subscribe").click(function() {  
        $("#login-form").dialog("open");
    });
});

validate.php:

  $username = $_REQUEST["username"];
  $password = $_REQUEST["password"];

  // php verification code goes here…

现在问题是用户输入 没有传递给validate.php 。相反,输入附加在 module.php 的末尾。我想这个问题是由于AJAX发布的,但不幸的是我仍然无法弄明白。任何人都可以在这里点灯吗?

1 个答案:

答案 0 :(得分:0)

如果您希望AJAX请求转到validate.php,那么您必须在$.post电话中使用该网址

$.post("validate.php", {
    username: post_username, 
    password: post_password
});

编辑后......

在PHP文件中,值不会出现在$_REQUEST中,而是出现在$_POST数组中。例如:

$_POST['username']