首页 文章

使用Safari,XMLHttpRequest“无法加载资源”

提问于
浏览
0

我尝试从微控制器获取带有XMLHttpRequest的数据字符串 . 该请求适用于Internet Explorer,Firefox,Chrome和Opera,浏览器Konsole中没有任何错误 . 只有Safari出现ERROR问题“无法加载资源:网络连接丢失 . ”微控制器仅响应数据串(5字节) .

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);
}

2 回答

  • 0

    Failed to load resource: The network connection was lost ”可能是由于以下原因之一 .

    • XHR请求Content-Length>实际内容长度的页面在这种情况下Safari:等到超时,错误事件,“无法加载资源:网络连接丢失” . 在控制台

    • XHR请求Content-Length>实际内容长度以突然服务器终止结束的页面Safari:错误事件,“无法加载资源:网络连接丢失” . 在控制台

    因此,最可能的原因可能是内容长度不匹配,如果收到的内容长度和发送的内容长度相等或者丢失了任何数据包,请检查线路鲨鱼

  • 0

    这可能还有一种可能性 . Safari之外的浏览器忽略响应类型,例如,如果您发出HTTP请求并且响应是TCP数据包 . 在这种情况下,Safari会丢弃它,而Chrome等其他浏览器会将其视为HTTP响应 .

    因此,请检查您的HTTP服务器代码是否响应具有HTTP标头 . 从我的观点来看,这一定是最可能的原因 . 在Wireshark中检查响应数据包类型,无论是HTTP还是TCP .

相关问题