AJAX和PHP POST方法不起作用,但GET方法正在工作

时间:2015-09-08 06:59:11

标签: jquery post get

我不知道发生了什么,我想使用ajax将数据从html输入传递到我的php文件。我有两个字段,用户名和密码。这是我在ajax中的代码。

$(document).ready(function () {
    //initialize the javascript
    function search() {
        var username = $("#username").val();
        var password = $("#password").val();
        var dataString = 'username=' + username + '&password=' + password;
        if (username != "") {
            $.ajax({
                type: "POST",
                url: "ajax.php",
                data: dataString,
                cache: false,
                beforeSend: function () {
                    $("#login").html("<img style='width: 20px;' alt='loading...' src='ajax-loader.gif'/>");
                },
                success: function (data) {
                    if (data == 1) {
                        window.location = "management/dashboard";
                    } else {
                        $("#login").html(data);
                    }
                }
            })
            return false;
        } else {
            $("#login").html('login');
        }
    };
    $('#username').keyup(function (e) {
        if (e.keyCode == 13) {
            search();
        }
    });
    $('#password').keyup(function (e) {
        if (e.keyCode == 13) {
            search();
        }
    });
    $('#login').click(function () {
        search();
    });

});

这是我的PHP代码..

<?php

    if(!empty($_POST['username']) && !empty($_POST['password'])) {
        echo 1;
    } else {
        echo 0;
    }

?>

提前致谢。

1 个答案:

答案 0 :(得分:2)

改变这个:

$.ajax({
    type: "POST",
    url: "ajax.php",                        
    data: dataString,
    cache: false,
    beforeSend: function(){ 
        $("#login").html("<img style='width: 20px;' alt='loading...' src='ajax-loader.gif'/>"); 
    },                      
    success: function(data){
        if(data == 1) {
            window.location="management/dashboard";
        }
        else {
            $("#login").html(data);
        }
    }               
})

到此:

$.ajax({
    type: "POST",
    url: "ajax.php",                        
    data:{username: username, password:password},
    cache: false,
    beforeSend: function(){ 
        $("#login").html("<img style='width: 20px;' alt='loading...' src='ajax-loader.gif'/>"); 
    },                      
    success: function(data){
        if(data == 1) {
            window.location="management/dashboard";
        }
        else {
            $("#login").html(data);
        }
    }                   

})

问题在于发送参数。 您在GET模式下发出了参数,而不是POST模式:

data:{username: username, password:password}