+ -
当前位置:首页 → 问答吧 → AJAX做登录出错。谷歌提示错误信息500

AJAX做登录出错。谷歌提示错误信息500

时间:2011-12-02

来源:互联网

这是html
HTML code
<div id="login">
     用户名:<input type="text" id="u_name" />
     密码:<input type="password" id="u_password" />
     <input type="button" id="butlogin" onclick="login();" value="登 录"/>
     <input type="button" value="注 册"/>                 
</div>


这是JS
JScript code
function login(){
    var name = $("#u_name").val();
    var password = $("#u_password").val();
    if (name == "" || password == "") {
        alert("用户名和密码不能为空!");
    }
    else {
        $.post("Ajax/loginHandler.ashx", { "name": name, "password": password }, function (data, status) {
            alert(status);
            if (status == "success") {
                if (data == "OK") {
                    alert("密码正确!登录成功!");
                }
                else {
                    alert("密码错误!登录失败!");
                    $("#u_name").val("");
                    $("#u_password").val("");
                    $("#u_name").focus();
                }
            }
            else {
                alert("出错了!请重试!");
            }
        })
    }
}




这个ajax
C# code
<%@ WebHandler Language="C#" Class="login" %>

using System;
using System.Web;
using BBS.BLL;

public class login : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "text/plain";
        user user=new BBS.BLL.user();
        user.user_name = context.Request.Form["name"];
        user.user_password= context.Request.Form["password"];
        int i = BBS.BLL.user.login(user);
        if (i == 1)
        {
            context.Response.Write("OK");
        }        
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}



user.login()方法
C# code
        public static int login(user user)
        {
            StringBuilder sqlstring = new StringBuilder(); ;
            sqlstring.Append("sqlect * from BBS_User where user_name=@user_name and user_password=@user_password");
            SqlParameter[] parameters ={
                                         new SqlParameter("@user_name",SqlDbType.NVarChar,20),
                                         new SqlParameter("@user_password",SqlDbType.NVarChar,20)
                                     };
            parameters[0].Value = user.user_name;
            parameters[1].Value = user.user_password;
            int i = DAL.SqlServerHelp.ExecuteNonQuery(sqlstring.ToString(), parameters);

            return i;
        }



数据层

C# code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Configuration;

namespace BBS.DAL
{
    public class SqlServerHelp
    {
        public static string connectionString=BBS.DAL.sqlconnectionstring.connectionstring();

        public static int ExecuteNonQuery(string sqlstring,params SqlParameter[] parameter)
        {
            using(SqlConnection con = new SqlConnection(connectionString))
            {
                SqlCommand com = new SqlCommand();
                ParameterCom(con, com, sqlstring, parameter);
                int i = com.ExecuteNonQuery();
                return i;
            }
        }

        public static void ParameterCom(SqlConnection con, SqlCommand com, string sqlstring, params SqlParameter[] Parameter)
        {
            if (con.State != ConnectionState.Open)
                con.Open();
            com.Connection = con;
            com.CommandText = sqlstring;
            com.CommandType = CommandType.Text;
            if (Parameter != null)
            {
                foreach (SqlParameter parameter in Parameter)
                {
                    if ((parameter.Direction == ParameterDirection.InputOutput || parameter.Direction == ParameterDirection.Input) && parameter.Value == null)
                    {
                        parameter.Value = DBNull.Value;
                    }
                    com.Parameters.Add(parameter);
                }
            }
        }
    }
}

作者: fada801   发布时间: 2011-12-02

然后呢。。错误是什么啊

作者: zsx841021   发布时间: 2011-12-02

引用 1 楼 zsx841021 的回复:

然后呢。。错误是什么啊

错了是哪一行提示有错啊

作者: zsx841021   发布时间: 2011-12-02

Failed to load resource: the server responded with a status of 500 (Internal Server Error)……
Ajax/loginHandler.ashx
VS不提示错误。我要谷歌调试工具看到的

作者: fada801   发布时间: 2011-12-02

引用 2 楼 zsx841021 的回复:

引用 1 楼 zsx841021 的回复:

然后呢。。错误是什么啊

错了是哪一行提示有错啊

就是没办法运行,点击没反应,谷歌提示500错误

作者: fada801   发布时间: 2011-12-02

你动态页有问题。。和浏览器没关系

而且$.post必须是你动态页返回200状态才会执行回调,更多控制使用$.ajax来发送请求

作者: showbo   发布时间: 2011-12-02