0

問題が発生しているWebサイトの非常に単純なログインハンドラーがあり、ユーザーがユーザー名とパスワードを適切な入力に入力し、ajaxが情報をperlスクリプトに送信してチェックし、成功したかどうかに関するメッセージを返します。そのメッセージは div に配置されます。XMLHttpRequest.responseText. メッセージの結果はまったく送信されません。ステータス、ユーザー名、およびパスワードは正しく機能します。

JQuery

<script>
function login() {
        var login = {
            status: "login",
            username: $('#username').val(),
            password: $('#password').val()
            };
            $.ajax({
                    type: 'POST',
                    url: 'bar.cgi',
                    dataType: "json",
                    data: login,
                     },
                    }).done(function( msg ) {
                                                $('#result').html( msg );
                                            });
        }
</script>

Perl bar.cgi

#!/usr/bin/perl

use strict;
use warnings;

use CGI;
use JSON;
use Template;

my $q = CGI->new;
my $dbh = DBI->connect( $db, $db_user, $db_pass ) or die("Connection Error: 
+DBI::errstr\n");

my $s = CGI::Session->new("driver:mysql;serializer:storable", $q, {'Handle'=> $dbh }) or 
+die( CGI::Session->errstr );   

if ($q->param('status') eq 'login') {

...check that username/password matches database if so modify session

print $s->header('application/json');
print to_json("login successful");
exit;    
}
4

1 に答える 1