有没有办法来"流"在加载XHR / AJAX调用时将内容放入页面?我已经设置了一个基于REST的Java servlet(Restlet),使用JSP进行模板化,并使用JavaScript通过对RESTlet的Dojo XHR调用生成所有内容。这样做的缺点是,当我等待页面元素异步完成加载时,它们不会显示。在本地没有问题,但是如果我在一个糟糕的3G区域中使用甚至60 KB的SSH可能需要一些时间来动态加载,那么一些JSON提取的大小就会减少1-6 MB。 / p>
是的,我发现JSON没有订单保证。
我想在下载内容时呈现内容,而不是等待内容完成异步提取,然后调用函数在xhr请求之后呈现它#34;加载"。
示例:
function getFinanceData() {
aniPreload("on");
var thePostData = "doWhat=getFinanceData";
var xhArgs = {
preventCache: true,
url: getResource("Finance"),
postData: thePostData,
handleAs: "json",
timeout: timeOutMilli,
load: function (data) {
putAssets(
data.qMerged[0],
data.bGames,
data.books,
data.dTools,
data.licenses,
data.assets
);
naviButtonListener();
aniPreload("off");
},
error: function (data, iostatus) {
aniPreload("off");
window.alert("xhrGet for FinanceData FAIL!, STATUS: " + iostatus.xhr.status + " (" + data + ")");
}
};
dojo.xhrPost(xhArgs);
}
而不是load:function(data){}我想在加载函数流时使用。
答案 0 :(得分:0)
你的问题有点混乱,但是......如果60K花费了相当多的时间,你将不得不忍受。对于大型转移,您希望在其余部分完成时看到转移的开始,将大请求分解为较小的转移。
更新:之前我没有提到过,因为会涉及很多重构。但是,我相信你可以使用WebSocket来实现流媒体方面。但是之前我没有提到它,因为我不确定流式传输长JSON会如何真正帮助...