不知大家有没有遇到,用jQuery Validation(本文讨论的版本为jQuery Validation Plugin 1.11.1)用remote方式做校验时,如果验证元素的值保持一致,进行多次验证时,第二次(含)请求并未发出,即沿用第一次远程调用的验证结果(即缓存、使用第一次请求的结果)。
经常情况下,我们希望浏览器每次都去请求后台作验证的。于是作了以下尝试。
>像ajax请求那样加上cache : false
尝试的结果是无效的。
>在请求的URL上加时间戳
尝试的结果是无效的。
>简单粗暴的方法(非最好的解决方法)
后来,请前端人员过来帮忙。他的结论是修改源代码,将源代码的如下部分注释掉。
if ( previous.old === value ) {
return previous.valid;
}
按目前流行的说法,这是简单粗暴的方法,而非最优解。如果各位有好的解决方法,欢迎交流。