jquery .load()和IE

时间:2010-07-09 15:34:35

标签: javascript ajax servlets jquery

使用FF,Safary和Chrome测试以下代码,一切正常。但是对于IE ......不是这样 单击“viewEditButID”按钮时,隐藏div“customerDetailsDivClass”。当它再次点击时div除了它之前,但在它下注之前下载数据将会显示。

$(document).ready( function() {
$('#viewEditButID').click( function()
{
   if ($('div.customerDetailsDivClass').is(':visible'))
   {
     $('div.customerDetailsDivClass').toggle("slow");
   }
  else
  {
     //Will make the box visible so update the date before this is done
    $("div.customerDetailsDivClass").load("/Admin/UpdateCustomerList");
     $('div.customerDetailsDivClass').toggle("slow");
   }
});
});

HTML

<div class="customerDetailsDivClass">
<table id="customerTable">
  <tr><th>Customer Name</th><th>Customer Code</th><th></th></tr>
  <tr class="evenRow">
    <td>Customer 1</td>
    <td>SADFHS12345</td>
    <td class="noRightPad"><input type="submit" name="createBut" value="View/Edit"/></td>
</tr>
<tr>
  <td>Customer 2</td>
  <td>SADFHS67891</td>
  <td class="noRightPad"><input type="submit" name="createBut" value="View/Edit"/></td>
</tr>
</table>
</div>

从那里调用一个servlet并将请求重定向到.jsp,该响应仅包含以下内容:

<table id="customerTable">
<tr>
  <th>Customer Name</th><th>Customer Code</th><th></th>
</tr>
<tr class="evenRow">
  <td>Customer 2</td>
  <td>SADFHS12345</td>
  <td class="noRightPad"><input type="submit" name="createBut" value="View/Edit"/></td>
</tr>
<tr>
  <td>Customer 2</td>
  <td>SADFHS67891</td>
  <td class="noRightPad"><input type="submit" name="createBut" value="View/Edit"/></td>
</tr>
</table>

就像我在FF中提到的那样,表格会更新为客户2数据,但是使用IE,旧数据(客户1数据)会再次显示。

任何帮助,提示都会很棒!

由于 亚历

2 个答案:

答案 0 :(得分:2)

设法解决这个问题......

经过一天的浪费时间和IE开发人员宣誓后......

我的.jsp文件中有一个空白行“\ n”,其中(仅)IE将其解释为文件结尾,而不是查看http标头中的字节数。

无论如何我至少学习了关于js调试的分配

亚历

答案 1 :(得分:0)

你正在与浏览器缓存作斗争。

将其更改为

.load("/Admin/UpdateCustomerList?Timestamp=" + new Date())