2012-08-02 43 views
0

转到http://starodaj.eu/apitest/index2.html以查看我的代码如何在不同的APi呼叫完成后进行API调用?

单击“显示可用性”。它应该填充输入。我有一个问题(可能与异步),所以我不能通过一次单击来填充所有内容。当我多次点击'ShowAvailability'时 - 一切正常。我该如何解决这个问题?

function callAPI(yourAPIKey){ 
    var enquiry = "http://api.roomex.com/api/hotel?apiKey=" + yourAPIKey; 
    //alert(enquiry); 
    $.ajax({ 
     url: enquiry, 
     type: 'GET', 
     dataType: "jsonp", 
     jsonp: "callback", 
     jsonpCallback: "jsonpCallback2", 
     complete: function (response, responseCode) { 
     }, 
     success: function (json) { 
      $.each(json.Contracts, function (index, contract) { 
       // alert("Count before increament : " + Count); 
       // alert(contract.ContractCode); 
       ContractsArray[Count] = contract.ContractCode; 

       // alert("Count after increament : " + Count); 
       // alert("ContractsArray[Count]: " + ContractsArray[Count]); 
       Count++; 

      }); 
      for(var i = 0; i < Count; i++){ 
       //alert("ContractsArray[" + i + "]: " + ContractsArray[i]); 
       getAvailability(yourAPIKey, ContractsArray[i], startDate, endDate); 
       getRates(yourAPIKey, ContractsArray[i], startDate, endDate); 
       //alert("Finish of ContractsArray[" + i + "]: " + ContractsArray[i]); 
      } 
     } 
    }); 
    } 

回答

1

你的脚本产生错误与这些线

jsonpCallback: "jsonpCallback3", 
jsonpCallback: "jsonpCallback", 
jsonpCallback: "jsonpCallback2", 

当我删除他们只是填满整个表

+0

感谢ROEST,我该如何解决这些错误? – 2012-08-02 11:43:05

+0

很明显,这些行不是必需的,因此不需要它们,或者可以定义这些回调。 – Roest 2012-08-02 11:48:49

+0

谢谢你!我花了几个小时解决这个问题,这很简单.. – 2012-08-02 11:55:19

相关问题