ajax 呼び出しの後に別の aspx ページから読み込まれた gridview があります。問題は chrome/firefox/safari で動作することですが、ie9 を使用すると、最初の呼び出しでは ajax 呼び出しが正常に機能しますが、関数を再度呼び出そうとするとスローされますie9 dev ツールのネットワーク タブに 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 ページ内に配置されたグリッドビューがリロードされます。問題は、最初の挿入時に IE9 で実行するとすべて正常に動作するが、後続の挿入でグリッドビューがリロードされ、IE9 開発ツールのネットワーク タブに「304」と表示されることに気付きました。