使用AJAX将数据发布到PHP

时间:2015-06-11 17:05:23

标签: javascript php jquery ajax

我正在尝试使用AJAX测试PHP发布数据。从页面测试我想发布到同一页面并检查PHP是否接收发布数据,是否发布数据只是为了查看重定向是否成功,以便我可以编写身份验证代码并在页面重定向之前分配会话。

当我点击登录按钮时,我只检查isset post数据,如果数据存在,则重定向。我不知道为什么这不起作用。任何帮助表示赞赏。

<script>
    $(document).ready(function(){
        $('#login').click(function(){
            $.ajax({
                type: 'POST',
                url: 'http://domain.com/backend/test',
                data: { username: "John", password: "Boston" }
            });
            return false;
        });
    });
</script>

<?php
if(isset($_POST['username']) && isset($_POST['password'])) {
    redirectto("http://domain.com/backend/test2");
    // redirecto is a function equivalent to header location
}
?>

<form autocomplete="off" class="ui fluid form segment" method="post">
    <div class="ui fluid form segment">
        <div class="two fields">
            <div class="field">
                <label>Email/Username</label>
                <input placeholder="Email/Username" name="username" id="username" type="text">
            </div>
            <div class="field">
                <label>Password</label>
                <input placeholder="Password" name="password" id="password" type="password">
            </div>
        </div>
        <input type="submit" class="ui fluid submit button" name="dosubmit" value="Submit" id="login" />
    </div>
</form>

2 个答案:

答案 0 :(得分:0)

更改

<input type="submit" class="ui fluid submit button" name="dosubmit" value="Submit" id="login" />

<input type="button" class="ui fluid submit button" name="dosubmit" value="Submit" id="login" />

即使您触发了#login按钮的点击事件,它也是一个提交类型,它将首先触发提交事件。更改按钮类型应该会有所帮助。

答案 1 :(得分:0)

在JS中,不使用click事件,而是使用submit。 我的意思是,而不是

$('#login').click(function(){

使用

$('#login').submit(function(){

此外,您可以向表单添加一个动作属性:

<form autocomplete="off" class="ui fluid form segment" method="post" action="#">