【问题标题】:Post data to PHP using AJAX使用 AJAX 将数据发布到 PHP
【发布时间】:2015-06-11 17:05:23
【问题描述】:

我正在尝试使用 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>

【问题讨论】:

  • 嗨,发生了什么,你有什么错误吗?检查 jquery 可以工作吗?仅供参考,检查 jquery 文件是否正确包含

标签: javascript php jquery ajax


【解决方案1】:

改变

<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按钮的点击事件,它也是一个提交类型,它会先触发提交事件。更改按钮类型应该会有所帮助。

【讨论】:

  • 不走运,return false 将完成几乎相同的工作。
  • @lock 这可能无法解决您的问题,但他是对的。您的代码中没有 stop the propagation
【解决方案2】:

在 JS 中,不要使用点击事件,而是使用提交。 我的意思是,而不是

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

使用

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多