Jquery Ajax调用仅在IE 11中不起作用
我已经构建了一个web应用程序。它在每个浏览器(Chrom、firefix、IE 7、8、9、10)上都运行良好,但不仅仅是11个 以下是html:Jquery Ajax调用仅在IE 11中不起作用,jquery,asp.net,ajax,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=
<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>
以下是我的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;
});
我也试过:
error:function(xhr,err,exception){
alert(xhr); //shows [object][object]
alert(err); //shows error
alert(exception); //shows Internal server error
});
请帮帮我。用户ID:03211234567 pwd:1234567
如果有人有IE 11,那么她/他可以看到问题所在
提前感谢。在ajax调用中添加缓存:false,如下所示:
$.ajax({
url: "MainPage.aspx/CheckLogin",
data: "{'UserId':'" + $("#txtUserId").val().trim() + "','Password':'" + $("#txtPassword").val().trim() + "'}",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function (data) {...
要在jQuery代码中防止普遍缓存,请使用:$.ajaxSetup({cache:false});或者在$.ajax()对象中,如上面的回答所示 登录时请不要使用“输入”按钮,因为我已将“聚焦于表单标签”设置为“搜索”按钮,请单击“登录”按钮上的“明确性”。我会纠正的。我偶然发现了类似的帖子,上面说ajax不能与IE11一起工作。签出jquery票证。您是否尝试过将
添加到页眉?在找到这个答案之前,我为此奋斗了很长时间!真头痛!为什么IE11会在默认情况下缓存这个呢?我也花了很长时间才找到。这应该有更多的投票。有什么解释吗?你节省了我的时间
error:function(xhr,err,exception){
alert(xhr); //shows [object][object]
alert(err); //shows error
alert(exception); //shows Internal server error
});
$.ajax({
url: "MainPage.aspx/CheckLogin",
data: "{'UserId':'" + $("#txtUserId").val().trim() + "','Password':'" + $("#txtPassword").val().trim() + "'}",
type: "POST",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function (data) {...