0

.post在 Internet Explorer 中使用 AJAX 时遇到问题。在所有其他浏览器中,这都能正常工作(Firefox、Safari、Chrome、Opera)。在我网站的登录页面上,使用.post不起作用。

下面是 JavaScript:

$(document).ready(function() {
    $("#even tr:even").addClass("even");
    $('#login_loader').hide();
    $("#login_form_submit").click(function() {
        $('#login_form_submit').attr('disabled', true);
        $('#login_loader').fadeIn(200);
        $('#login_group').slideUp(500);
        $('#logout_hint').slideUp(500);
        $('#login_contact_form').slideUp(500);
        $.post("action/login.php?act=login", {
            username: $('#login_username').val(),
            password: $('#login_password').val(),
            captcha: $('#login_captcha').val()
        }, function(response) {

            setTimeout("finishAjax('login_group', '" + escape(response) + "')", 1000);
        });
        return false;
    });
});

function finishAjax(id, response) {
    $('#login_loader').slideUp(300);
    $('#login_contact_form').fadeIn(300);
    $('#' + id).html(unescape(response));
    $('#' + id).fadeIn(500);
    $('#login_form_submit').attr('disabled', false);
    $("#captchaImg").attr("src");
}​

有谁知道是什么问题?

谢谢

4

2 回答 2

2

IE 以其激进的缓存而臭名昭著,您排除了这种可能性吗?

如果没有,请尝试在您的 html 中添加以下行

<!--[if IE]><script type="text/javascript">$.ajaxSetup({cache: false});</script><![endif]-->

或者,如果事实证明就是这样,您可以根据每个请求进行设置

于 2012-06-02T10:29:55.727 回答
0

您是从文件还是从 Web 服务器进行测试?如果您尝试从文件中执行此操作,我建议您安装 Web 服务器并重试。

编辑:究竟什么不起作用?当我提交表单时,正在发送一个 POST 请求,并且控制台中没有错误。调试截图

您使用的是哪个版本的 Internet Explorer?

于 2012-06-02T09:25:31.533 回答