我正在尝试使用javascript调用Web服务并从Web服务获取数据。
我想在Web服务返回的数据发生变化时再次触发ajax调用。
这是我尝试过的代码,但是当来自服务器的数据发生变化时,无法再次触发回调。
var request=$.get("http://localhost:8080/messanger/webresources/myresource",function(data){
if(data=="something"){
//do something
}
else if(data=="something else"){
//do something else
}
});
当来自Web服务的数据发生变化时,我想再次执行get请求!!!
请建议这样做的概念......
答案 0 :(得分:0)
我建议调用服务的函数的递归调用。只要结果与前一个结果不同,就可以调用它。但我仍然不确定这是否是你想要的:)
var previousResult = null;
function callMyService() {
var request = $.get("http://localhost:8080/messanger/webresources/myresource", function (data) {
if (data == previousResult) {
// returned data is the same as last call
}
else {
// save the previous result to global variable
previousResult = data;
// recursive call
callMyService();
}
});
}
然后在您需要的地方打电话:
callMyService()