2013-03-19 41 views
0

我正在创建一个web应用程序,并且我有4个webservice。如何等待来自webservice的响应并调用Jquery中的另一个Webservice

  1. 发出呼叫
  2. 获取振铃状态
  3. 回答状态
  4. 挂断

我想,当我从jQuery的执行第一web服务应该等待响应,然后检查另一个Webservice并异步获取状态。

目前我正在使用。

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");    
     } 
    }); 
} 

你能推荐一些东西吗?

+0

你能不能把状态Web服务调用在发出呼叫服务的成功呢? – 2013-03-19 04:51:19

+0

是的,我可以。但我怎么能继续检查服务是否返回我适当的回应 – Moiz 2013-03-19 05:18:52

+0

我想你的意思是你想要轮询web服务。为此你可以使用setInterval方法 – 2013-03-19 05:39:53

回答

0

为“我怎样才能继续术语检查“正在轮询。如果你想轮询web服务,你可以使用如下的setInterval

setInterval(function() { 
    //call your webservice here 
}, 5000); 
0

调用web服务和其成功处理程序内调用其他web的服务是完全同步call..calling第二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 
    } 
}); 

同步呼叫建立Async:false和异步调用设置Async:true jQuery的AJAX里面所有的服务调用