做验证码的时候用js调用servlet,执行js不报错,但是servlet没被执行
//加载验证码functionreloadcode(){//veryCode为img表单varveryCode=document.getElementById('very...
//加载验证码
function reloadcode()
{
//veryCode为img表单
var veryCode=document.getElementById('veryCode');
//MakeCertPic是生成图片的servlet
veryCode.setAttribute('src','MakeCertPic?it='+Math.random());
}
//代码执行不报错,但是就是没反应(验证码不显示)
但别人访问我的时候又有那验证码 展开
function reloadcode()
{
//veryCode为img表单
var veryCode=document.getElementById('veryCode');
//MakeCertPic是生成图片的servlet
veryCode.setAttribute('src','MakeCertPic?it='+Math.random());
}
//代码执行不报错,但是就是没反应(验证码不显示)
但别人访问我的时候又有那验证码 展开
2个回答
展开全部
你的js没错,错的应该是你servlet的路径错了,你这样写是相对路径,现在开发网站都应该尽量用绝对路径,这样才能保证你的文件放到任何地方都是正确的,不用随着页面移动而去改代码
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
function reloadcode()
{
//veryCode为img表单
var veryCode=document.getElementById('veryCode');
//MakeCertPic是生成图片的servlet
// 使用当前url
veryCode.src = veryCode.src.split('?')[0] + '?it='+Math.random());
}
追问
请问这跟我直接写有什么区别?这样写的用意是什么?谢谢
追答
这样写的话验证码的地址就不会错了。
获取当前验证码的url。
把旧的参数砍掉。(砍掉问好后面的字符串)
加新的参数。
这里的参数是为了禁止读取缓存。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询