使用AJAX的自定义登录不能与IE一起使用

时间:2012-07-24 作者:Thirukumaran Nagarajan

我使用wp\\u登录功能在wordpress中自定义登录。每当用户输入其凭据时,就会使用ajax调用另一个页面。在该页面中,我检查用户凭据,并使用wp\\u登录功能登录用户。然后发送确认信息,当前页面将捕获该信息并显示用户已成功登录。该代码在Chrome和Firefox中可用,但在IE中不起作用。这是AJAX文件中的代码。当前页面收到一个响应,表示用户已登录,但当我刷新时,它仍显示用户未登录(挣扎了几天,请帮帮我

$creds = array();
$creds[\'user_login\'] = $user;
$creds[\'user_password\'] = $password;
$creds[\'remember\'] = $remember;
$user = wp_signon( $creds, true );
if ( is_wp_error($user) ){
    echo "Invalid Username or Password";
}
else {
    $current_user = wp_get_current_user();
    $userid=$current_user->ID;
    mysql_pconnect($dbhost,$dbuser,$dbpass) or die ("Unable to connect to MySQL server");
    $dbquerry= \'select `login` from wp_users where user_login="\'.$_GET[\'user\'].\'"\';

    $result=mysql_db_query($dbname,$dbquerry);
    list($login)=mysql_fetch_array($result);
    if($login==1) {
        echo "change";
    }
    else {
        echo "success";
    }
}
这段代码在Chrome和firefox中运行良好,而在IE中则不行

1 个回复
SO网友:Thirukumaran Nagarajan

最终找到了罪魁祸首并解决了问题:)IE缓存AJAX请求。所以,无论何时使用AJAX调用设置登录cookie,IE都会遇到麻烦。小心!!!!!在ajax调用中,在URL中填写一个随机数,以便IE不会捕获

在Ajax调用中插入

    var d = new Date();
    var n = d.getTime();
    req.open("GET", "something.php?user"+username+"&x="+n);
通过这样做,IE不会缓存AJAX请求

结束

相关推荐

我无法使用wp-login.php登录WordPress站点

我可以登录wordpress。com-但我无法登录到我的托管wordpress网站:http://www.hunterbaby.com.au/wp-login.php当我尝试重置密码时,它只会识别我的wordpress用户名,而不会识别与我的wordpress帐户链接的现有电子邮件?所以我无法发送重置密码链接。请帮忙!