本帖最后由 ziyou16036 于 2014-08-27 21:45:37 编辑 用jquery和ajax来异步刷新验证用户名和密码,可是怎么只能提交第一次有用呢?网上搜的方法我都试过了,可是没有用,到底该怎么办呢?我把代码贴出来给你们看看,希望高手可以解决!
$.ajax({
type:'POST',
url:'=$baseUrl?>/public/logincheck',
dataType:'json',
data:{username:$("input[name='username']").val(),password:$("input[name='password']").val()},
success: function(json){
if(json.message==4){
var index = parent.layer.getFrameIndex(window.name); //获取当前窗体索引
parent.location.reload();//刷新父页面
parent.layer.close(index); //执行关闭
}else if(json.message==3){
addTip("用户名或密码不正确!");
}
}
});
我用的是zend framework框架做的项目,url地址中填写的是控制器的地址!
------解决思路----------------------ajax本身看不出什么,你触发事件是什么?调试看看,第二次有没有触发此ajax方法
------解决思路----------------------点击登录的地方,是否是绑定的click方法
------解决思路----------------------$.ajax 应有 cache : false, 属性,否则服务端不阻止缓存时,至少IE不会刷新缓存数据
回调中,你有 parent.location.reload();//刷新父页面
自然自己也被刷新了
那么第二次发送是什么意思呢?
------解决思路----------------------cache:false
------解决思路----------------------在AJAX发送的URL后面,加上时间戳,确保每次发送的URL不一样
------解决思路----------------------
同意此观点