[英]Is it possible for an AJAX request to be read before the response is complete?
[英]read response from ajax request in blocks before its complete
我的浏览器向服务器发出ajax / json请求,然后服务器调用多个服务以获取数据(花费各种时间),然后在浏览器中显示此数据。
我可以等服务器完成并一次性返回所有数据。
理想情况下,我希望它在每个单独的调用完成时返回数据(json)。 这样,我可以在UI中显示它们,如果其中一个服务调用花费很长时间,则用户仍然可以查看数据,而无需查看空白屏幕。
我认为有可能获得一个ASP.NET网页或处理程序以将数据发送回请求的客户端而不进行缓冲。
但是在客户端,我如何在Ajax响应完成之前对其进行处理? 这有可能吗?
我想知道多部分MIME数据类型是否也有用...?
制作一个单独的控制器/功能(取决于您使用的后端),然后在您的JavaScript中发出单独的请求。 由于Javascript是异步的,因此结果会在每个函数完成时显示在页面上。
.NET伪代码
public string Foo() {
string returnedJson = getFoo();
return returnedJson;
}
//Same thing for Bar and Bah
然后,在您的Javascript中(假设您使用的是jQuery)
function onFooComplete() {
//In this function, display the data you get back from the server
}
$.get('/foo', function(res) {
onFooComplete(res);
});
为了获得更强大的植入效果,请考虑在javascript中使用发布/订阅方法。 https://github.com/cowboy/jquery-tiny-pubsub是一个很小但有用的jQuery pub / sub实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.