asp.net 验证码刷新没反应
<asp:Image ID="imgYZ" runat="server" ImageUrl="~/ImageValidate.aspx" />
<a href="javascript:getimgcode()">刷新验证码</a>
<script language="javascript" type="text/javascript">
function getimgcode() {
var getimagecode = document.getElementById("imgYZ");
getimagecode.src = "ImageValidate.aspx";
}
</script>
注:ImageValidate.aspx为产生验证码的网页
在开发状态下, 运行正常,可正常刷新验证码,但发布到服务器后, 点击刷新验证码, 没反应。 请教各位大侠, 为什么?
------解决方案--------------------带个随机数就行了
------解决方案--------------------<asp:Image ID="imgYZ" runat="server" ImageUrl="~/ImageValidate.aspx" />
<a href="javascript:getimgcode()">刷新验证码</a>
<script language="javascript" type="text/javascript">
function getimgcode() {
var getimagecode = document.getElementById("<%=imgYZ.ClientID %>");
getimagecode.src = "ImageValidate.aspx?"+Math.floor(Math.random()*10000);
}
</script>
试试有没有效果
------解决方案--------------------
+1 在路径后面添加一个随机数
你的代码
getimagecode.src = "ImageValidate.aspx";
改成
getimagecode.src = "ImageValidate.aspx?date="+new Date();
------解决方案--------------------
因为同样的请求,在参数没有变化的时候会被浏览器缓存起来。
------解决方案--------------------带个随机数在网页地址后,会默认为访问不同页面了,以验证码就能生成新的
就好比:每次都是访问A.aspx,被缓存了,以每次验证码总是那一个
但加了随机数后就变成:第一次访问A.aspx?1,第二次访问A.aspx?2,得出的结果当然就不一样