当web返回的数据发生变化时,如何从javascript调用get web服务?

时间:2015-11-28 14:54:24

标签: javascript ajax web-services

我正在尝试使用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请求!!!

请建议这样做的概念......

1 个答案:

答案 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()