2016-07-19 121 views
-1

我已經花了整整一天的時間,閱讀和閱讀並嘗試不同的東西,我仍然無法得到ajax請求發送ie11。所以我幾乎沒有任何規定,因爲你看到我有緩存設置爲false,並且還在網址的末尾添加了一個隨機數,以便不會被ie緩存。 FF和Chrome的工作正常...我有一個file_put_contents設置爲請求的PHP文件,我得到的文件中的數組與FF和鉻當我運行此代碼,但IE瀏覽器沒有什麼......請幫助..謝謝:)ajax請求沒有發送ie11

{literal} 
<script type="text/javascript"> 

/* yes the literals are backwords thats how it works */ 
/* for smarty in js - see smarty forum */ 
/* addEventListener is ok we do not support < ie9 */ 

"use strict"; 

var r = '?ran='+Math.floor((Math.random() * 10000) +1); 
var ajaxurl = {/literal} '{$ajaxUrl}'{literal}; 
var roomid = {/literal} '{$room}' {literal}; 
var userid = {/literal} '{$userid}' {literal}; 
var urlwithr = ajaxurl+r; 

window.addEventListener('unload', function(event) { 

$.ajax({ 
    cache: false, 
    method: 'GET', 
    url: urlwithr, 
    data: { 
     roomid: roomid, 
     userid: userid, 
     urlwr: urlwithr, 
     ajax: true 
     }, 
    success: function() { 
    /* nothing dont need it */ 
    } 
    }); 
}); 
</script> 
{/literal} 
+0

凡是在JavaScript控制檯?任何錯誤? – Carlos

+0

我很確定你的代碼一般工作。我認爲這是IE11中'unload'事件的問題。爲了測試這個,嘗試在IE11中沒有事件的情況下執行代碼或使用其他事件類型。只是要確定。 – eisbehr

+0

沒什麼,完全乾淨:( – dave

回答

0

感謝eisbehr爲這個答案......榮譽:)這裏是什麼工作,其餘的代碼是相同的。具有諷刺意味的是,這幾乎是我開始使用的,我已經從大量的代碼一直到這個塊的整個過程。我在早期階段就開始使用unload,因爲我不喜歡beforeunload有警報的事實,以及如果他們對警報說「不」。但現在看來,工作正常,沒有警報,而這一切僅僅是因爲這個詞「事件」的笑

window.addEventListener('beforeunload', function() { 

再次感謝eisbehr ...

+0

回到這個工作,現在它不會工作在FireFox,但工程在IE上。我需要做一個選擇來支持其中一個: – dave

+0

你可以試試'$(window).one(「unload beforeunload」,function(){})''未測試,也許可以工作:) – eisbehr

+0

yes sir eisbehr它完美的工作,現在我可以刪除我的瀏覽器snif代碼,我不想在第一個地方使用...非常感謝:)好男人... – dave