javascript – PHP代码返回其脚本,在JQuery Ajax中不起作用

我想使用Aptana IDE和xampp做一个网站,它有几页.索引页面是指未登录系统和主页的所有用户必须访问系统的所有用户所在的位置.我是开发网站的新手.

我决定使用Ajax登录注册页面.它实际上是正常的.但现在我不知道为什么不这样做.

在我的login.html页面

<form id="login-form" class="text-left" method="post">
                <div class="main-login-form">
                    <div class="login-group">
                        <div class="form-group">
                            <label for="lg_username" class="sr-only">Username</label>
                            <input type="text" class="form-control" id="lg_username" name="username" placeholder="username"
                                   data-container="body" data-toggle="popover" data-placement="left" data-content=""
                                   value="">
                        </div>
                        <div class="form-group">
                            <label for="lg_password" class="sr-only">Password</label>
                            <input type="password" class="form-control" id="lg_password" name="password" placeholder="password" 
                                   data-container="body" data-toggle="popover" data-placement="left" data-content="">
                        </div>
                        <div class="form-group login-group-checkBox">
                            <input type="checkBox" id="lg_remember" name="lg_remember">
                            <label for="lg_remember">remember</label>
                        </div>
                    </div>
                    <button type="submit" class="login-button">Submit</button>
                </div>
            </form>

并使用JQuery验证进行表单验证

$(document).ready(function () {
        $('#login-form').validate({
    rules: { //rules goes here},
    messages: { //messages goes here},
    submitHandler: submitForm
});

它工作正常.我的所有规则都已实施.

提交功能

function submitForm(){
            var username = $('#lg_username').val();
            var password = $('#lg_password').val();
            var checkBox = $('#lg_remember').is(":checked");

            var strAjax = "username=" + username + "&password=" + password + "&checkBox=" + checkBox;
            alert(strAjax);
            $.ajax({
                type: 'POST',
                url: 'loginAjax.PHP',
                data: strAjax,
                cache: false,
                success: function(data) {
                    alert(data);
                    if(data == "1") {
                        window.location.href = "home.PHP";
                    }
                    else {
                        //Error messages
                    }
                }
            });
            return false;
            }

loginAjax.PHP文件

<?PHP
require_once 'dbcon.PHP';
session_start();

$username = MysqL_real_escape_string($_POST["username"]);
$password = MysqL_real_escape_string($_POST["password"]);

$sql = "SELECT * FROM tbl_user WHERE userName = '$username' AND password = '$password'";

$result = MysqL_query($sql);
$count = MysqL_num_rows($result);
$row = MysqL_fetch_array($result);

if($count == 1){
    if($_POST['checkBox'] == TRUE) {
        if(!isset($_COOKIE['name'])) {
            setcookie( 'name', $row['userName'], time() + (86400 * 30) );
        }
    }
    $_SESSION['user_session'] = $row['userName'];
    echo TRUE;
}
else {
    echo FALSE;
}
?>

dbcon.PHP文件连接到MysqL数据库.我试着控制它是进入ajax方法还是从带有警报的PHP文件返回的内容. strAjax似乎是正确的但警报(数据)显示我的PHP代码是这样的;

php returns this

我将登录文件更改为PHP文件而不是html.但问题不在于此.我所有的ajax代码都从PHP获取数据.在我的电脑PHP文件正常运行.如果您需要更多信息,我可以编辑我的帖子.为什么这个ajax conk?

解决方法:

var formData = {
    'username'              : $('input[name=username]').val(),
    'password'             : $('input[name=password]').val(),
    'lg_remember'    : $('input[name=lg_remember]').val()
};

// process the form
$.ajax({
    type        : 'POST', // define the type of HTTP verb we want to use (POST for our form)
    url         : 'process.PHP', // the url where we want to POST
    data        : formData, // our data object
    dataType    : 'json', // what type of data do we expect back from the server
                encode          : true
})

试试这个

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...