我用XMLHttpRequest结合javascript还有php做了一个异步检测用户名是否被注册的代码,运行什么的都没有问题,注册成功后我会让浏览器会连接到一个页面,把用户的注册信息显示出来,也没有什么问题,加入这是点击浏览器的后退键,又返回到了原来的注册页面,问题就在这里了,我在用户名的文本框输入的如果是上一次的用户名,这是还是异步的检测,但是返回的信息是mysql的查询是没有查询到这个用户名的,还是可以用和上次相同的用户名注册。这是怎么回事呢?
我在本地用cmd进行的mysql的查询,没有问题,这个用户名是存在的,用mysqladmin查询也是存在的,这就怪了,望高人指点一下啊,谢谢了!
还有一个现象就是,我把浏览器关了,在打开,在异步查询,这时候就没有问题了,可以检测到这个用户名,如果使用TT之类的浏览器,只要新打开或者关闭一个新的页面,就会正常。
我想是不是有缓存的问题呢?

解决方案 »

  1.   

    log一下php后台执行的sql语句到底是啥样咯,其他说不上,ie规范不标准,lz拿firefox试试
      

  2.   

    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="pragma" content="no-cache">
      

  3.   

    header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT");
    header("Cache-Control: no-cache, must-revalidate");
    header("Pragma: no-cache");