Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax数据不';无法到达$\u POST数组_Php_Jquery_Arrays_Ajax_Post - Fatal编程技术网

Php Ajax数据不';无法到达$\u POST数组

Php Ajax数据不';无法到达$\u POST数组,php,jquery,arrays,ajax,post,Php,Jquery,Arrays,Ajax,Post,如果已经有人问过这个问题,我很抱歉,但是其他问题的其他答案都没有帮助我解决我的问题 我正在编写一个用户登录过程,该过程使用.ajax()调用我的login.php文件来登录用户。然而,经过几个小时的调试,我似乎发现问题在于ajax调用中的数据:{user:username,pass:password}行似乎没有将数据发送到login.php中的$\u POST数组。事实上,它甚至不会回显我在login.php中的if语句。我知道这个问题听起来和其他问题很相似,但我确实在这个网站上尝试了所有与这个

如果已经有人问过这个问题,我很抱歉,但是其他问题的其他答案都没有帮助我解决我的问题

我正在编写一个用户登录过程,该过程使用
.ajax()
调用我的
login.php
文件来登录用户。然而,经过几个小时的调试,我似乎发现问题在于ajax调用中的
数据:{user:username,pass:password}
行似乎没有将数据发送到
login.php中的
$\u POST
数组。事实上,它甚至不会回显我在
login.php
中的
if
语句。我知道这个问题听起来和其他问题很相似,但我确实在这个网站上尝试了所有与这个主题相关的东西,但一点运气都没有

这里是
login\u form.php
。它在底部包含
.ajax()
代码:

<!DOCTYPE html>
<html>
    <head>
        <title>Login Form</title>
        <link rel="stylesheet" type="text/css" href="css/custom-style.css" media="screen">
    </head>
    <body>
        <div id="login_container">
            <img src="img/sflogo.gif" alt="Sutton Ferneries" id="sflogo_login">
            <p id="add_err">We're sorry, we weren't able to find that username/password.</p>
            <input type="text" name="username" id="username" placeholder="Username">
            <input type="password" name="password" id="password" placeholder="Password">
            <p id="learn_login">Want to know the benefits of having an online account with us? <a href="#">Learn More.</a></p>
            <button id="login_btn">Log In</button>
        </div>
    </body>


<script type="text/javascript">

    $(document).ready(function() {
        $("#add_err").css('display', 'none', 'important');
        $("#login_btn").on("click", function(e) {

            e.preventDefault();
            var username = $("#username").val();
            var password = document.getElementById("password");
            password = password.value;

            $.ajax({
                url: "login.php",
                data: { user: username, pass: password },
                type: "POST",
                dataType: "json",
                beforeSend: function() {
                    $("#add_err").css('display', 'block', 'important');
                    $("#add_err").html("Loading...");
                },
                success: function(data) {
                document.write(data);
                    if (data == 'true') {
                        $("#login_container").html(data);
                        //closeLightbox();
                        window.location = "index.php";
                    } else {
                        $("#add_err").css('display', 'block', 'important');
                        $("#add_err").html("Wrong username or password.");
                    }
                }
            });
        });
    });

</script>
</html>

您的代码工作正常,请尝试打印数据

    echo   $username = $_POST['user'];

    echo $password = $_POST['pass'];

您正在ajax中使用json。所以输出应该是这样的

$output['msg'] = 'Here is your return';

echo json_encode($output);
在login.php中试试这个

在js中,您将以

alert(data.msg);
除去


如果您不想删除,您将得到结果返回json结果并在成功部分解码并显示它们

您的代码中没有包含Jquery min文件:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

我刚刚做了上述修改,一切都很顺利

dataType:“json”,
-您希望/试图发送
json
类型和数据,但从服务器回显文本/html。请尝试类似于
echo json_encode('Post为null')我也只是试了一下,运气不好。它没有向
成功:
呼叫发送任何数据。只是尝试了一下,仍然没有成功。我不确定到底发生了什么,因为我在发送:
呼叫之前正在准备我的
,但它似乎从未呼叫
成功:
。很高兴知道它对您有用,但我会继续玩,看看它是否是我代码中的其他内容。删除所有代码仅在login.php文件中添加两行以上谢谢。这对我有用。老兄,我真的松了一口气。谢谢你!
dataType: "json",
header("Content-Type: application/json, true");
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
var username = $("#username").val();
var password = $("#password").val();