2016-04-06 212 views
0

我嘗試從微控制器獲取帶有XMLHttpRequest的數據字符串。 該請求適用於瀏覽器Konsole中的Internet Explorer,Firefox,Chrome和Opera,並且沒有任何錯誤。 只有Safari使ERROR出現問題「無法加載資源:網絡連接丟失」。 微控制器只能用數據刺激(5字節)來回答。XMLHttpRequest「Safari無法加載資源」

function httpGetFreq(){ 
    var xmlHttp = new XMLHttpRequest(); 
    xmlHttp.onreadystatechange = function() { 
     if (xmlHttp.readyState == 4 && xmlHttp.status == 200){ 
      freq = parseFloat(xmlHttp.responseText)/1000; 
      animate(); 
     } 
    } 
    xmlHttp.overrideMimeType('text/plain'); 
    xmlHttp.open("GET", "frequenz", true); 
    xmlHttp.send(null); 
} 
+0

在網絡選項卡中提供的任何信息? – epascarello

+0

在網絡選項卡中有請求:類型:XHR;方法:GET; Scheme:HTTP;狀態: -;緩存:否;尺寸: - ;轉讓: - ;開始計時器:0.443ms;潛伏: -;時間 - –

回答

0

無法加載資源:網絡連接丟失」可能是以下原因之一造成的。

  1. XHR請求與內容長度>實際內容長度 一個頁面在這種情況下Safari中:等待,直到超時,錯誤事件,「無法加載資源:網絡連接丟失」在控制檯

  2. XHR請求一個頁面內容長度>實際內容長度的結局在突然終止服務器的Safari :錯誤事件,「無法加載資源:網絡連接丟失。」在控制檯

所以最可能的原因可能是內容長度不一致,請在絲鯊檢查內容長度收到和發送等於或是否有包丟失

0

有可能是一個更可能這發生。除Safari之外的瀏覽器忽略響應類型,例如,如果您發出HTTP請求並且響應是TCP數據包。在這種情況下,Safari會放棄它,而Chrome等瀏覽器則認爲它是HTTP響應。

因此請檢查您的HTTP服務器代碼是否有響應HTTP標頭。從我的觀點來看,這一定是最可能的原因。在Wireshark中檢查響應數據包類型,無論它是HTTP還是TCP。