我需要在高度動態的Web應用程序中執行jsonp長輪詢,但是我遇到大量內存泄漏。最初,我使用了Socket.IO和jsonp傳輸,並得到了相同的結果,然後設置了一個JQuery測試頁,以查看問題是否僅在socket.io庫中進行了本地化。 我發現我也驚訝地發現從JQuery做jsonp輪詢也導致了相同的結果:在IE9中,內存從大約80-90 MB增加到超過1.8 GB(非常快)(小於10分鐘):(。JQuery JSONP輪詢內存泄漏
He're是客戶端的測試代碼:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js">
<script type="text/javascript">
$(document).ready(function() {
var doPoll = function() {
$.ajax({
type: 'GET',
url: "http://<server-url>/jquery-jsonp/server.php",
cache: false,
async: true,
crossDomain: true,
dataType: "jsonp",
success: function (data, status) {
console.log("Received response"+data);
doPoll();
},
error: function (xhr, textStatus, errorThrown) {
// access denied
}
});
}
doPoll();
});
</script>
</head>
這裏是虛擬服務器響應:
<?php echo $_GET['callback']."(".json_encode(array("status"=>"success")).")";
正如你可以看到這裏沒有什麼特別的是什麼原因造成的任何想法這和可能的解決方法?
該請求需要跨源執行,我們必須支持IE8/9。 非常感謝。
你有解決這個問題的辦法嗎?它也發生在我身上......這裏的問題是,我們正在使用Phonegap作爲移動應用程序,並且即使在更改頁面時也會出現問題...:-X – Sebastian