JavaScript / IE11 - 清除DIV内容

时间:2017-06-21 12:51:55

标签: javascript jquery ajax internet-explorer

我对IE(大惊喜)和清除DIV内容有点问题。我有一个“搜索结果”DIV,显示通过GET方法(AJAX)收集的一些项目。该方法本身工作正常,数据返回到AJAX调用,但有问题的DIV在调用document.getElementById('stupid-div').innerHTML = '';时拒绝自行清空,在DIV中显示与AJAX调用之前相同的数据。在另一个浏览器中执行相同的功能按预期工作,一旦采取行动,DIV就会清除结果。知道如何让这个工作吗?我也试过$('#stupid-div').empty()无济于事。

以下是代码片段。

<div class="Search-Area" id="Request-List"></div>
document.getElementById('Edit-Area').style.height = '0';
$.ajax({
  url: '/SomeController/GetSomeData',
  dataType: 'json',
  type: 'GET',
  timeout: 30000,
  data: {},
  success: function(data) {
    if (!data.Success) {
      alert(data.ExitMessage);
      return;
    }

    $('#Request-List').empty(); // Does not work in IE
    document.getElementById('Request-List').innerHTML = ''; // Does not work in IE either
    alert('refreshed'); // Displays each time, so it's hitting the clear div methods

    for (var i = 0; i < data.Data.length; i++) {
      document.getElementById('Request-List').innerHTML += '<div onclick="LoadRequest(this.id)" class="Search-Result" id="R' + data.Data[i].RequestID + '"/><label> Request for ' + data.Data[i].Name + ' by ' + data.Data[i].User + '</label></div>';
    }
  }
});

2 个答案:

答案 0 :(得分:0)

您是否尝试过$(&#39;#Request-List&#39;)。html(&#39;&#39;)

答案 1 :(得分:0)

我发现了这个问题,它是用IE和AJAX进行的。 IE缓存&#34; GET&#34;请求所以它不会打到相同的&#34; LoadRequests&#34;第一次运行后的方法,因为它认为它已经有了数据。将其切换到&#34; POST&#34;修复此问题并按预期清除DIV。

如果POST方法不起作用,请参阅此有用的帖子以进一步解决问题:)。

http://www.itworld.com/article/2693447/ajax-requests-not-executing-or-updating-in-internet-explorer-solution.html