0

我正在创建一个 Web 应用程序,并且我有 4 个 Web 服务。

  1. 拨打电话
  2. 获取振铃状态
  3. 已回答状态
  4. 挂断

我希望当我从 jquery 执行第一个 Web 服务时,它应该等待响应,然后检查另一个 Web 服务并异步获取状态。

目前我正在使用 .

function InfoByDate(){
    var divToBeWorkedOn = "#AjaxPlaceHolder";
    var webMethod = "http://MyWebService/Web.asmx/GetInfoByDates";
    var parameters = "{}";

    $.ajax({
        type: "POST",
        url: webMethod,
        data: parameters,
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {    
            $(divToBeWorkedOn).html(msg.d);
        },
        error: function(e){
            $(divToBeWorkedOn).html("Unavailable");              
        }
    });
}

你能建议点什么吗。

4

3 回答 3

1

“我怎样才能继续检查”的术语是轮询。如果你想轮询网络服务,你可以使用setInterval如下。

setInterval(function() {
  //call your webservice here
}, 5000);
于 2013-03-19T05:40:45.840 回答
0

在 jQuery 中使用以下内容

async: false,

作为

 $.ajax({
    type: "POST",
    url: webMethod,
    data: parameters,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    success: function(msg) {    
        $(divToBeWorkedOn).html(msg.d);
    },
    error: function(e){
        $(divToBeWorkedOn).html("Unavailable");     
        //call you second function here
    }
});

更多细节
jQuery.ajax() 中的“async: false”有什么作用?
$.ajax( { async : false } ) 请求仍在异步触发?

于 2013-03-19T04:46:39.067 回答
0

调用 Web 服务并在其成功处理程序中调用其他 Web 服务完全是同步调用。无论第一个服务是否成功,调用第二个 Web 服务都是异步调用。

 $.ajax({
    type: "POST",
    url: webMethod,
    data: parameters,
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    async: false,
    success: function(msg) {    
        $(divToBeWorkedOn).html(msg.d);
     //**call to second service**
    },
    error: function(e){
        $(divToBeWorkedOn).html("Unavailable");     
        //call you second function here
    }
});

用于所有服务调用的同步调用集和jquery ajax 内Async:false的异步调用集Async:true

于 2013-03-19T07:36:54.733 回答