繁体   English   中英

使用AJAX将数据发布到PHP

[英]Post data to PHP using AJAX

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

当我单击登录按钮时,我只是检查isset发布数据,如果数据存在,则进行重定向。 我不确定为什么这不起作用。 任何帮助表示赞赏。

<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>

更改

<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按钮的click事件,它的提交类型也将首先触发#login事件。 更改按钮类型应该会有所帮助。

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

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

采用

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

另外,您可以在表单中添加一个动作属性:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM