Javascript通过JSON控制数据流
我有一个用JQuery+KnockOut制作的web应用程序,它从web服务读取JSon格式的所有数据。使用此代码,每秒钟重新加载和重新分析数据有三个Json流:Javascript通过JSON控制数据流,javascript,jquery,json,flow,Javascript,Jquery,Json,Flow,我有一个用JQuery+KnockOut制作的web应用程序,它从web服务读取JSon格式的所有数据。使用此代码,每秒钟重新加载和重新分析数据有三个Json流: setInterval(function () { loadCommon(); loadLive(); loadDashboard(); }, 1000); 问题是当数据从页面本身更新时。事实上,我有一个控件,比如一个文本框,它将数据发送到服务。它会对其进行验证,以防更新后面的代码库。代码很简单: $('#t
setInterval(function () {
loadCommon();
loadLive();
loadDashboard();
}, 1000);
问题是当数据从页面本身更新时。事实上,我有一个控件,比如一个文本框,它将数据发送到服务。它会对其进行验证,以防更新后面的代码库。代码很简单:
$('#textbox-1').blur(function () {
savePost("Dash_textbox1:" + $('#textbox-1').val());
});
function savePost(data) {
"use strict";
console.log("POOOOOOOOSSSSSSSSSTTTTT : " + data);
$.ajax({
url: save_data_url,
type: 'POST',
data: data
});
}
除了一件事,一切都正常。让我们假设一切都在上午8:00.01开始……请看这里:
08.00.01 AM>>>加载了LoadCommon、LoadLive、LoadDashboard的界面调用了>>>文本框-1,初始值为10>>>很好
08.00.02 AM>>>再次加载界面>>>文本框-1有10个>>>>良好
08.00.03 AM>>>再次加载界面>>>文本框-1有10个>>>>良好
08.00.04 AM>>>再次加载接口>>>文本框-1有10个>>>>良好
08.00.045 AM>>>用户在textbox-1中输入值5,数据将发送到Web服务>>>textbox-1有5个用户更改>>>很好
08.00.5 AM>>>>再次加载接口>>>文本框-1有10个,因为服务没有完成处理发送到post>>>WROONG的08.00.045数据
08.00.6 AM>>>再次加载接口>>>文本框-1有5个,因为服务已完成处理发送到post的08.00.045数据>>>很好
视觉效果是textbox-1在10和5之后将其值从10快速更改为5。
我在webservice上没有电源,而且由于某些原因,该服务可能不会将数据更新为5,因此再次将其设置为10是正确的,那么我如何在Javascript中处理该流呢
感谢您像这样保护您的数据更改:
var processing_update = false;
setInterval(function () {
if (processing_update) return;
loadCommon();
loadLive();
loadDashboard();
}, 1000);
function savePost(data) {
"use strict";
console.log("POOOOOOOOSSSSSSSSSTTTTT : " + data);
processing_update = true;
$.ajax({
url: save_data_url,
type: 'POST',
data: data,
complete: function() {
// all done
processing_update = false;
}
});
}