我尝试从微控制器获取带有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);
}
答案 0 :(得分:0)
" 无法加载资源:网络连接丢失"可能是由于以下原因之一。
XHR请求Content-Length>的页面实际内容长度 在这种情况下,Safari:等待超时,错误事件,"无法加载资源:网络连接丢失。"在控制台
XHR请求Content-Length>的页面实际内容长度以服务器终止突然结束 Safari:错误事件,"无法加载资源:网络连接丢失。"在控制台
因此,最可能的原因可能是内容长度不匹配,如果收到的内容长度相同或者发送的数据包丢失,请检查线路鲨鱼
答案 1 :(得分:0)
可能还有一种可能性。 Safari之外的浏览器忽略响应类型,例如,如果您发出HTTP请求并且响应是TCP数据包。在这种情况下,Safari会丢弃它,而Chrome等其他浏览器会将其视为HTTP响应。
因此请检查您的HTTP服务器代码是否响应具有HTTP标头。从我的观点来看,这一定是最可能的原因。在Wireshark中检查响应数据包类型,无论是HTTP还是TCP。