簡體   English   中英

JavaScript / IE11-清除DIV內容

[英]JavaScript/IE11 - Clearing DIV Contents

我在IE方面遇到了一些問題(非常驚喜),並清除了DIV內容。 我有一個“搜索結果” DIV,其中顯示了一些通過GET方法(AJAX)收集的項目。 該方法本身可以正常工作,並將數據返回給AJAX調用,但是當document.getElementById('stupid-div').innerHTML = '';時,有問題的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>';
    }
  }
});

您是否嘗試過$('#Request-List')。html('')

我發現了問題,這是與IE和AJAX有關。 IE緩存的“ GET”請求,因此它在第一次運行后不會遇到相同的“ LoadRequests”方法,因為它認為它已經具有數據了。 將其切換為“ POST”可解決此問題,並按預期清除了DIV。

如果POST方法不適合您,請參閱此有用的文章以進一步解決:)。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM