我有一个 ajax 调用后从另一个 aspx 页面加载的 gridview,问题是它适用于 chrome/firefox/safari 但使用 ie9 ajax 调用在第一次调用期间可以正常工作但是当我尝试再次调用该函数时它抛出ie9 开发工具的网络选项卡上的 304 状态,并且网格视图未刷新。
这是jquery代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="LoadCoursesGridViewHere.aspx.cs" Inherits="CoursesGridView" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="Scripts/jquery-1.8.2.js" type="text/javascript"></script>
</head>
<body>
<form id="form1" runat="server">
<div id="Gridview-container">
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
<asp:TextBox ID="TextBox1" runat="server" ViewStateMode="Disabled"></asp:TextBox>
<%-- <asp:Button Text="text" ID="btn" OnClientClick=" __doPostBack('UpdatePanel1', '')" runat="server" />--%>
<input type="button" id="btn" value="insert"/>
</form>
<script type="text/javascript">
$("#btn").click(function () {
var a = $("#TextBox1").val();
$.ajax({
url: 'WebService.asmx/insert',
data: "{ 'name': '" + a + "' }",
contentType: "application/json; charset=utf-8",
type: "POST",
success: function () {
// alert('insert was performed.');
$("#Gridview-container").empty();
$("#Gridview-container").load("GridViewCourses.aspx #GridView1");
}
});
});
</script>
</body>
</html>
发生的情况是,单击按钮后,它将通过 web 服务“插入”将文本框值插入数据库中,然后重新加载放置在不同 aspx 页面内的 gridview。问题是,当我在第一次插入期间在 IE9 上运行它时,一切正常,但随后的插入确实重新加载了 gridview,我注意到它在 ie9 开发工具的网络选项卡上显示“304”。