2014-03-01 31 views
0

我正在與另一個開發人員的代碼...但我不認爲有一個問題...頁面應該提交一個搜索表單是被getResults()攔截,然後將結果注入到所需的空div中。有些幫助請... IE + JQuery加載()不顯示結果

潛在的問題:IE緩存,.load()的鉻和FFox工作

所以問題是,jQuery的負載()無法在IE中顯示的結果,除非我瘋狂地刷新頁面。這使我相信,像許多我在這裏有一個緩存問題。然而,搜索和修改load()的許多小時導致了相同的問題。

我到目前爲止試過了什麼:

將load()更改爲get()。 添加時間戳。 用ajax請求重建(在本地有一些快樂,但是直播時這也不起作用) 將ajax緩存設置爲false。 刪除e.preventDefault()這工作,但強制頁面刷新(不幸的是不可接受) 檢查HTML有效性,並確保(文本/ JavaScript)始終。 我已經包含了jquery-migrate-1.2.1.js的兼容性。 < IE9 encodeURIComponent方法()

我在哪裏:

我的$的數據充滿了\ r \ n \ t(換行我猜),我沒有看到這個在Chrome或FF調試沒有人知道如何當這件事?

GetResults()

function getResults(){ 

    $(document).ready(function() { 

     $('#vrSearchForm').submit(function(e) { 

         var ok = false; 

      var target = document.getElementById('spin'); 

      var spin = new  Spinner({color:'rgb(255,156,33)',radius:50,lines:8,width:10,shadow:true}).spin(target); 

      var pos = $('.returned-properties').position(); 

      var form = $(this); 

      serializedData = form.serialize(); 

      $('.returned-properties').empty(); 

      $('#results').remove(); 

      $('#more-results').css("display","inline"); 

      $('.returned-properties').load('index.php #results',serializedData, function(data) { 

       $('body').animate({ 

        scrollTop: pos.top - 100 

       },800); 

       spin.stop(); 

           var working = data; 

           if (status != "error") { 
           if (($.browser.msie)) 
            response.replace(/\r\n/g, ""); 
           } 

           if (typeof history.pushState != 'undefined') { 
            ok = true; 
            history.pushState(serializedData,"", "index.php?" + serializedData); 
           }else{ 
            location.hash = "index.php?" + serializedData; 
           } 
      }); 
        e.preventDefault(); 

        return false; 
    }); 

}); 

} 

回答

0

長話短說......一個額外的div標籤。沒有被W3驗證工具發現,並且真正的關閉div標籤剛剛在屏幕外,因此除了這些在Chrome和FireFox中的所有功能外,還沒有立即顯現。沒有錯誤,沒有任何反饋從IE只是零輸出。