ajax验证用户名是否存在出错~

jevonsjin 2008-09-24 12:52:16
ajax验证用户名是否存在出错~
不知道哪里错了~~~

报空异常
if (Request.QueryString["Event"].ToString()=="CheckName")
{
if (cm.CheckName(Request.QueryString["Name"].ToString()))
{
Response.Write("true");
Response.End();
}
else
{
Response.Write("false");
Response.End();
}
}

if (Request.QueryString["Event"].ToString()=="CheckName")
这句出现异常
未将对象的引用设置到对象的实例

我的js文件
var xmlHttp;
function CheckName(txtName)
{
createXMLHTTP();
var url = "DisposeEvent.aspx?Name="+txtName+"&Event=CheckName";
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange = checkUserName;
xmlHttp.send(null);
}
function creatXMLHTTP()
{
if(window.XMLHttpRequest)
{
xmllHttp = new XMLHttpRequest();//mozilla浏览器
}
else if(window.ActiveXObject)
{
try
{
xmHttp = new ActiveXObject("Msxml2.XMLHTTP");//IE老版本
}
catch(e){}
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本
}
catch(e){}
if(!xmlHttp)
{
window.alert("不能创建XMLHttpRequest对象实例!");
return false;
}
}

}
function checkUserName()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
if(xmlHttp.responseText=="true")
{
document.getElementById("imgCheck").src="img/true.gif";
document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = false;
}
else
{
document.getElementById("imgCheck").src="img/false.gif";
document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = true;
}
}
}
}
...全文
183 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jarvis-Li 2008-09-25
  • 打赏
  • 举报
回复
if (cm.CheckName(Request.QueryString["Name"].ToString()))
{
Response.Clear();

Response.Write(Request.QueryString["Name"].ToString());
Response.End();
}
else
{
Response.Clear();
Response.Write(Request.QueryString["Name"].ToString());
Response.End();
}
这样修改下试试
Jarvis-Li 2008-09-25
  • 打赏
  • 举报
回复
我知道你是什么问题了
jevonsjin 2008-09-24
  • 打赏
  • 举报
回复
图片路径对的
knight827 2008-09-24
  • 打赏
  • 举报
回复
图片路径改为绝对路径
../image/true.gif
jevonsjin 2008-09-24
  • 打赏
  • 举报
回复


这个是打印的图片`~
Jarvis-Li 2008-09-24
  • 打赏
  • 举报
回复
下班了要是没解决别天再说吧
Jarvis-Li 2008-09-24
  • 打赏
  • 举报
回复
你打印一下看看xmlHttp.responseText是什么
jevonsjin 2008-09-24
  • 打赏
  • 举报
回复
能运行,也没出错
if(xmlHttp.responseText=="true")
{
document.getElementById("imgCheck").src="img/true.gif";
//window.alert(xmlHttp.responseText);
//document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = false;
}
else
{
document.getElementById("imgCheck").src="img/false.gif";
//window.alert(xmlHttp.responseText);
//document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = true;
}
这里每次都不等于true不管输的对还是错
Jarvis-Li 2008-09-24
  • 打赏
  • 举报
回复
你看一下你接收到是不是乱码
还有你上面的提交方式用GET试试
Jarvis-Li 2008-09-24
  • 打赏
  • 举报
回复
你也没说运行到哪停
回没回调返回的是什么?
Jarvis-Li 2008-09-24
  • 打赏
  • 举报
回复
我给你一个验证的要不要
jevonsjin 2008-09-24
  • 打赏
  • 举报
回复
在线等,请大家帮忙,谢谢`~~
jevonsjin 2008-09-24
  • 打赏
  • 举报
回复
用3层写的,所有用到的代码如下`~~实在不知道错在哪里~~~
SqlHelper类
public static class SqlHelper
{

private static SqlConnection connection;
public static SqlConnection Connection
{
get
{
string connectionString = ConfigurationManager.ConnectionStrings["SqlDB"].ConnectionString;
if (connection == null)
{
connection = new SqlConnection(connectionString);
connection.Open();

}
else if (connection.State == System.Data.ConnectionState.Closed)
{
connection.Open();


}
else if (connection.State == System.Data.ConnectionState.Broken)
{
connection.Close();
connection.Open();

}
return connection;
}
}
public static SqlDataReader GetReader(string safeSql)
{
SqlCommand cmd = new SqlCommand(safeSql, Connection);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}

}

DAL层
public class CustomerService
{
public SqlDataReader CheckName(string cname)
{

string sqlStr = "select * from customer where CNAME='"+cname+"'";

return SqlHelper.GetReader(sqlStr);
}
}

BLL层

public class CustomerManage
{
private CustomerService cs = new CustomerService();

public bool CheckName(string cname)
{
if (cs.CheckName(cname).Read())
{
return true;
}
else
{
return false;
}
}
}

js文件
var xmlHttp;
var objEvent = CheckName;
function CheckName(txtName)
{
createXMLHTTP();
var url = "DisposeEvent.aspx?Name="+txtName+"&Event="+objEvent+"";
xmlHttp.open("POST",url,true);
xmlHttp.onreadystatechange = checkUserName;
xmlHttp.send(null);
}
function createXMLHTTP()
{
if(window.XMLHttpRequest)
{
xmlHttp=new XMLHttpRequest();//mozilla浏览器
}
else if(window.ActiveXObject)
{
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");//IE老版本
}
catch(e)
{}
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");//IE新版本
}
catch(e)
{}
if(!xmlHttp)
{
window.alert("不能创建XMLHttpRequest对象实例!");
return false;
}
}
}
function checkUserName()
{
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{
if(xmlHttp.responseText=="true")
{
document.getElementById("imgCheck").src="img/true.gif";
//window.alert(xmlHttp.responseText);
//document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = false;
}
else
{
document.getElementById("imgCheck").src="img/false.gif";
//window.alert(xmlHttp.responseText);
//document.getElementById("imgCheck").disabled = "";
document.getElementById("btnReg").disabled = true;
}
}
}
}


处理方法的页面
protected void Page_Load(object sender, EventArgs e)
{
CustomerManage cm = new CustomerManage();

if (Request.QueryString["Event"].ToString()=="CheckName")

if (cm.CheckName(Request.QueryString["Name"].ToString()))
{
Response.Write(Request.QueryString["Name"].ToString());
Response.End();
}
else
{
Response.Write(Request.QueryString["Name"].ToString());
Response.End();
}
}


前台的
<input id="txtName" type="text" onkeyup="CheckName(document.getElementById('txtName').value);"/>
jevonsjin 2008-09-24
  • 打赏
  • 举报
回复
现在不会出错了
但好像取不到页面上的值`~~
jackyoung02 2008-09-24
  • 打赏
  • 举报
回复
var objEvent = 'CheckName';

var url = "DisposeEvent.aspx?Name="+txtName+"&Event="+objEvent;
jevonsjin 2008-09-24
  • 打赏
  • 举报
回复
string s_Parameter_Event="";


if (Request.Params["Event"]!=null)
{
s_Parameter_Event = Request.Params["Event"].ToString();

}
if (s_Parameter_Event == "CheckName")
{
if (cm.CheckName(Request["Name"].ToString()))
{
Response.Write("true");
Response.End();
}
else
{
Response.Write("false");
Response.End();
}
}

这样写???还是不行嘛?
行者无疆-Kevin 2008-09-24
  • 打赏
  • 举报
回复
Request.QueryString["Event"]
先判断它是否问空.如果为空ToString()出错.
或者Convert.ToString(Request.QueryString["Event"])判断
3楼的也可以.
jevonsjin 2008-09-24
  • 打赏
  • 举报
回复
还是不行~~
bonnibell 2008-09-24
  • 打赏
  • 举报
回复
在ajax中post 的

在页面中
if (Request.Params["Event"] != null)
{
s_Parameter_Event= Request.Params["Event"].ToString();
}

加个保护
kings2015 2008-09-24
  • 打赏
  • 举报
回复
改成Request["Event"]试试
加载更多回复(1)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧