Ajax调用仅在IE 11中不起作用

时间:2014-04-02 10:09:21

标签: jquery asp.net ajax

我已经构建了一个Web应用程序。它在每个浏览器上工作正常(Chrom,firefix,IE 7,8,9,10),但不仅仅是11。

这是html:

<div class="menu_nav">
                <ul>
                    <li><a href="Upload.aspx">Upload</a></li>
                    <li class="active"><a id="btnSignIn" runat="server" rel="#div_Overlay" href="#">Sign in</a></li>
                </ul>
            </div>

这里是重叠div代码:

$("#btnSignIn").overlay({

        //    // some mask tweaks suitable for modal dialogs
        //    mask: {
        //        color: '#ebecff',
        //        loadSpeed: 200,
        //        opacity: 0.9
        //    },
        //    //effect: 'myEffect',
        //    closeOnClick: false,
        //});

这是我的ajax请求:

$("#btnLogin").live('click', function () {
        if ($("#txtUserId").val() == "") {
            alert("User Id Required");
        }
        else if ($("#txtPassword").val() == "") {
            alert("Password Required");
        }
        else {
            $.ajax({
                url: "MainPage.aspx/CheckLogin",
                data: "{'UserId':'" + $("#txtUserId").val().trim() + "','Password':'" + $("#txtPassword").val().trim() + "'}",
                type: "POST",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    data = JSON && JSON.parse(data.d) || $.parseJSON(data.d);
                    if (data.Table[0].IsAllowed == "1") {
                        $("#btnSignIn").hide(function () {
                            var lblUserName = "<label class='lblWelcome'>Welcome, " + data.Table[0].UserFirstName + "<a id='btnlogout' href='#'>logout</label>";
                            $("#btnSignIn").parent().append(lblUserName);
                            $("#btnSignIn").overlay().close();
                        });
                        var v = window.location.search.replace("&msg=%27not%20logged%20in%27", "");
                        window.location.search = v;
                    }
                    else {
                        if (data.Table[0].IsVerified == "NotVerified") {
                            $("#txtPassword").val("");
                            $("#tr_Verify").show();
                        }
                        else {
                            $("#txtUserId").val("");
                            $("#txtPassword").val("");
                            alert("User Id Or Password Incorrect");
                        }
                    }

                },
                error: function (err) {
                    alert("Some error occured.Please contact to your administrator." + err);
                }
            });
        }
        return false;
    });

当我点击登录按钮时,它只会转到回调错误。在所有浏览器中,一切正常。 这是网址:

http://61.5.156.98/UPortal/MainPage.aspx

我也试过这个:

error:function(xhr,err,exception){
    alert(xhr); //shows [object][object]
    alert(err);    //shows error
    alert(exception); //shows Internal server error
    });

请帮帮我。 userId:03211234567 pwd:1234567 如果某人有IE 11,那么她/他可以看到问题 提前谢谢。

2 个答案:

答案 0 :(得分:10)

在你的ajax调用中添加 cache:false ,如下所示:

ansible_ssh_user

答案 1 :(得分:1)

要防止在jQuery代码中普遍使用缓存,请使用:$ .ajaxSetup({cache:false});或$ .ajax()对象内,如上面的答案所示。