草庐IT

xhr-polling

全部标签

javascript - 长轮询 XHR 与 iframe

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我正在实现典型的服务器推送(cometd)应用程序。我在两个选项之间进行选择:longpollXHR和iFrame。这些有什么好处和坏处?我知道跨站点限制并且iFrame是非常重量级的组件......还有其他区别吗?例如,传输的“可靠性”或对组件的控制级别?您怎么看,是否有一个正确的答案是哪种方法更好,或者这两种方法都有用例?提前致谢。附言我有一个非常好的

javascript - jquery 获取 XHR 错误数据

如果我发出成功的jqueryAJAX请求,我会取回我的JSON数据。但是,如果我发出请求,但得到的不是200响应代码,我就无法在Jquery回调中取回数据。我需要数据,因为它有关于数据的描述。success:function(data,tst,xhr){$.log('XHROK');},error:function(xhr,tst,err){$.log('XHRERROR'+XMLHttpRequest.status);},有什么想法吗?谢谢 最佳答案 在:error:function(xhr,tst,err){$.log('XHR

javascript - "long polling"是创建 Web 实时应用程序的最有效方法吗?

我想创建一个这样的应用程序:http://collabedit.com/创建此实时应用程序的最有效方法是什么?闪光?长轮询?HTTP流?还是别的?谢谢;) 最佳答案 目前,长轮询可能是最好的解决方案。许多大牌网站都有长轮询实现,包括Facebook、Google和eBay。并非每个人的浏览器都安装/启用了Flash。以后WebSockets或许能够为我们完成更轻松的工作。更新:截至撰写本文时,WebSocketAPI在最新的WebKit(Chrome/Safari)和Firefox4beta中实现。还有Opera的公共(public

javascript - 捕获 XHR 的 404 错误

基本上,我必须创建一个javascriptAPP对象,它将对服务器的一系列异步请求进行排队,处理对JSON的响应,并记录其中的错误。JSON处理错误很容易被“try-catch”捕获,但服务器错误如404、500等仍然显示在浏览器的控制台中,而我需要将其静默记录在“APP.history”中。我尝试通过下面的代码实现它,但没有一个404错误引发一个错误。我做错了什么?xhr=newXMLHttpRequest();xhr.open("GET",url,true)xhr.onerror=function(){console.log("error")}xhr.upload.onerror=

javascript - XHR 请求被表示为被取消,尽管它似乎是成功的

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭9年前。这不是真正的问题,因为代码有效,但我只是好奇为什么会这样。我有以下用于ajax帖子的jQuery代码:$.post('./add_fee_row/',post,function(data){...});一切都很好,很漂亮。但是在Chrome控制台中显示:为什么说取消了?一切都发生了,就好像发布成功一样。为什么这么说?(如果需要,可以使用php服务器代码)我

javascript - XHR 进度事件在上传完成之前不会触发?

我正在使用以下$.ajax命令从PhoneGap应用程序上传文件:functionupdateProgress(evt){if(evt.lengthComputable){varpercentComplete=evt.loaded/evt.total*100;console.log(percentComplete+"%");}}$.ajax({url:url,type:"POST",data:data,cache:false,dataType:"json",processData:false,contentType:false,success:successCallback,error

javascript - XHR/setTimeout/Promise 在 Chrome 中停止滚动之前不会完成

在Chrome中,如果用户正在滚动所有XHR,setTimeouts将被延迟,直到滚动停止,我需要一个解决方法来解决这个问题。thisblogpost中描述了该行为.尽管此功能有助于移动滚动,但对于无限滚动来说却是灾难性的,这正是我正在尝试做的。这正在发生的证据:所有其他浏览器工作正常,Chrome显示空白屏幕,直到用户停止滚动。网络面板会将所有请求显示为pending,直到滚动结束,然后它们立即全部完成。将它放在一个片段中,运行它然后立即开始滚动。直到滚动完成后才会调用setTimeout。varp=newPromise(function(resolve){setTimeout(fu

javascript - 我怎样才能让 XHR.onreadystatechange 返回它的结果?

我是JavaScript编程的新手。我现在正在开发我的GoogleChrome扩展程序。这是行不通的代码...:P我想要getURLInfo函数返回它的JSON对象,并且想把它放到resp中。有人可以修复我的代码以使其正常工作吗?functiongetURLInfo(url){varxhr=newXMLHttpRequest();xhr.open("GET","http://RESTfulAPI/info.json?url="+escape(url),true);xhr.send();xhr.onreadystatechange=function(){if(xhr.readyState

javascript - XHR responseType "ms-stream"在 IE Mobile/Windows Phone 8.1 上失败

我正在尝试使用JavaScript流式传输大量二进制数据,并在下载完成之前访问这些数据。在大多数主流浏览器中,我可以使用charset=x-user-defined技巧在progress事件期间手动获取原始字节数据。但是,在InternetExplorer中,这个技巧不起作用,我只能使用VBArray(responseBody).toArray()方法来代替,这非常慢。但是,由于我只需要支持IE11及更高版本,我应该可以利用IE的MSStream来逐步获取数据。以下代码在IE11桌面上运行良好,但在运行IE11移动版的LumiaWindowsPhone8.1设备上运行不佳:varxhr

javascript - 当前的 XHR 实现是否利用了 HTTP/2?

这可能只是强调了我的一些误解,但我很好奇:如果您有一个HTTP/2服务器正在运行,并且想在浏览器中向服务器发出XHR请求,XHR会自动利用header中的性能优化吗?或者它会忽略该功能并作为HTTP请求运行吗?如果是这样,我们可以做些什么来在我们的请求中使用新的优化? 最佳答案 您无需执行任何操作。如果服务器支持HTTP/2,XHR将使用它。header压缩等将自动启动。测试它:在Chrome中打开一个HTTP/2网站。您可以使用我们的,toalsocheckoutsomecoolstuffregardingHTTP/2PUSH,A