求助 JavaScript 问题 本帖最后由 Puma_Yuan 于 2010-12-17 01:50:51 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将Session存到隐藏域,js读隐藏域! 简单,把你的验证码,一份写入图片中,一份保存到Session,然后输出给你的客户端Img。做法:专门做一页验证码产生页面,这个页面产生验证码,并保存到Session,生成图片,然后Response验证图片即可。技术关键点:验证码写入图片,2图片输出(调用Response的二进制输出,注意ContentType设置). img src="a.aspx"生成验证码ajax获取数据与text值比较 不用 img接收 你一般处理程序 绘出来的搬来就是一张图片了 ajax 没学 看看,以后用的着 Session是保存在服务器端,JavaScript是在客户端的,JavaScript想访问Session数据,可以用Ajax所谓的Ajax不用很高的要求,只要学一下JavaScript中的XMLHttpRequest对象,有点编程基础几分钟就可以看懂第一步:在服务器端新建一个专门的aspx文件,用来显示当前的Session中的验证码如下test.aspx<script language="C#" runat="server">public void Page_Load(object sender, System.EventArgs e){ Response.Write(Session["Code"]);}</script>第二步:JavaScript中用XMLHttpRequest对象来读取aspx文件显示的验证码,来比对一下就是在onblur事件中调用<script>var xmlHttp;var xmlDoc;// 创建 XMLHttpRequest 对象if (window.ActiveXObject){ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");}else if (window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest();}var url = 'http://localhost/test.aspx'; // test.aspx是显示Session的页面xmlHttp.open("GET", url, true);xmlHttp.onreadystatechange = Callback; // 指定读取内容后要调用的函数xmlHttp.send(); // 开始读取页面内容,读完就会调用上面执行的函数function Callback(){ if (xmlHttp.readyState == 4) { if (xmlHttp.status == 200) { xmlDoc = xmlHttp.responseText; // 返回的是页面内容,就是Session["Code"]值 // 这里进行对比 alert('内容:' + xmlDoc); } }}</script> 这个好,也不用去研究ajax了!~ 如何自动填充表单? 如何把这条查询语句传到父窗口?困扰了我好久的问题。 试用第三方控件POP3_Client收取邮件出错! 100分求助,不够可加:如何把数据集导出为树形的XML文件 如何利用C#在XML中添加节点 dgv如何禁止横向滚动条? MSChart如何绘制虚线 急!在WINFORM窗体程序中,建立一个新线程。但当新线程执行完他的函数后就退出? 有没有关于邮件编程的讨论区?bit8、quota-printe解密怎么做? 新手请教一个C#调数据库的问题 C#实现远程发布网站,怎样获得远程的IP 关于位图转换的疑问
做法:专门做一页验证码产生页面,这个页面产生验证码,并保存到Session,生成图片,然后Response验证图片即可。
技术关键点:验证码写入图片,2图片输出(调用Response的二进制输出,注意ContentType设置).
ajax获取数据与text值比较
所谓的Ajax不用很高的要求,只要学一下JavaScript中的XMLHttpRequest对象,有点编程基础几分钟就可以看懂
第一步:在服务器端新建一个专门的aspx文件,用来显示当前的Session中的验证码
如下
test.aspx
<script language="C#" runat="server">
public void Page_Load(object sender, System.EventArgs e)
{
Response.Write(Session["Code"]);
}
</script>第二步:JavaScript中用XMLHttpRequest对象来读取aspx文件显示的验证码,来比对一下
就是在onblur事件中调用
<script>
var xmlHttp;
var xmlDoc;// 创建 XMLHttpRequest 对象
if (window.ActiveXObject)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}var url = 'http://localhost/test.aspx'; // test.aspx是显示Session的页面
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = Callback; // 指定读取内容后要调用的函数
xmlHttp.send(); // 开始读取页面内容,读完就会调用上面执行的函数function Callback()
{
if (xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200)
{
xmlDoc = xmlHttp.responseText; // 返回的是页面内容,就是Session["Code"]值
// 这里进行对比
alert('内容:' + xmlDoc);
}
}
}
</script>