做了个htm页面,用ajax提交表单到一般处理程序(.ashx)去验证用户。密码错误就弹出提示框,但之后会跳转到.ashx那个页面(就是form的action属性指向的页面)。怎么让弹出提示框以后不跳转到.ashx页面?如果不设置action属性的话就会出错:无法访问.htm的谓词POST。
2楼的,我现在就是用的XMLHttpRequest对象。但不写上ACTION属性的话,就会出现无法访问POST谓词的错误。
所以现在想不写ACTION,然后再web.config的httpHandler节上添加<add verb="POST" path="index.htm" type="LoginHandler"/>,但还是出错,未能加载类型LoginHandler.LoginHandler是我的一般处理程序ashx页,放在根目录的handlers的文件夹里面的,是type写错了?
ajax不能用form 来action.
试试用xmlhttp对象直接get一个aspx程序。
aspx程序可以把结果返回xml串,js可以解析这个结果,把结果放在页面上。
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
try
{
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET","checkuser.aspx?uname=abc&pwd=123",false);
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.send(null);
if (xmlHttp.status == 200 || xmlHttp.status == 0)
{
htmlstr=xmlHttp.responseText;
// 解析一下这个串,找出xml里的成功失败。
alert(htmlstr);//这里能获取htmlstr
}
}
catch(exception)
{
alert("您要访问的资源不存在!");
}
试试用xmlhttp对象直接get一个aspx程序。
aspx程序可以把结果返回xml串,js可以解析这个结果,把结果放在页面上。
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
try
{
xmlHttp.onreadystatechange = handleStateChange;
xmlHttp.open("GET","checkuser.aspx?uname=abc&pwd=123",false);
xmlHttp.setRequestHeader("If-Modified-Since","0");
xmlHttp.send(null);
if (xmlHttp.status == 200 || xmlHttp.status == 0)
{
htmlstr=xmlHttp.responseText;
// 解析一下这个串,找出xml里的成功失败。
alert(htmlstr);//这里能获取htmlstr
}
}
catch(exception)
{
alert("您要访问的资源不存在!");
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2010-03-24
我没用AJAX做,我当时做的功能是发送一条信息到用户填的邮箱里,我当时用的回调函数,把数据通过URL传递到处理信息的页面,那个页面完成了发送邮件的功能后,把成功信息回复给前台页面,前台接收到后告诉用户已经发送成功。实现了通过HTML页面不跳转发送邮件。
楼主有空可以去研究下asp.net的回调函数。
楼主有空可以去研究下asp.net的回调函数。
第2个回答 2010-03-24
你的那个form表格里面的method没有写东西(method=“post”)吧!@!