在写一个页面的时候,需要动态改变背景图,同时,在页面上做了一个session记录的hash,防外部提交。

于是通过js去除原来的图片,如下

$('.bg').css({'background-p_w_picpath':'url()'});

于是,错误出现了,每次提交过去的hash和记录在session的值不同,表单提交被拒绝。

找了很多地方,一直找不到原因,甚至怀疑浏览器有问题,因为有IE7下是正常的,而火狐,chorm都出错。

最后,一行一行检查代码,终于找到的原因。出错的地方就在上而那句JS里。

因为把background-p_w_picpath设为了url(),本意是去除背景图,但这句,在浏览器里解析的时候,相当于刷新本页,本页一刷新,相当于session被重设了,于是和原来传过的hash就不同了。

正确的写法应该是这样:

$('.bg').css({'background-p_w_picpath':'none'});,或者直接留空。问题解决