我已经阅读了这个问题,但并不能完全回答我的问题。不幸的是,自从我上次查看AJAX以来,XHR对象中的一切似乎已经发生了变化,因此不再可能responseText在完成填充之前直接访问它。
responseText
我必须编写一个页面,该页面使用AJAX(最好是jQuery,但我愿意接受建议)从无法控制的服务器通过HTTP检索CSV数据。响应数据可能会很大;一兆字节的文本并不罕见。
服务器是流友好的。在直接从JavaScript返回数据流时,还有什么方法可以访问它?
我确实可以选择编写一些PHP代码,这些代码位于中间,并使用某种“彗星”技术(长轮询,EventSource等),但我希望尽可能避免这种情况。
如果相关,请假设用户具有Firefox / Chrome / Opera的最新版本,并且与旧浏览器的兼容性不是问题。
您将要为此直接使用JavaScript。原因是您将要连续轮询而不是等待回调触发。您不需要jQuery,这非常简单。他们在Ajax Patterns网站上有一些不错的源代码。
本质上,您只想跟踪响应中的最后一个位置,并定期轮询该位置之后的更多文本。您的情况不同之处在于,您可以订阅complete事件并停止轮询。