0

我正在用 appcelerator studio 构建一个 Service Android。

在此服务中调用返回 json 的 Web 服务。

所以这是调用ws的代码:

funtcion start(){
    var obj = getDocument("CFDECTEST02",NULL);
    Titanium.API.info("DOCUMENT "+ obj);
}

function getDocument(fiscalCode, date){
    //se il servizio può partire, procedo con il chiamare il ws
    // create request
    var obj;
    var xhr = Titanium.Network.createHTTPClient();
    //set timeout
    xhr.setTimeout(10000);
    //Here you set the webservice address and method
    xhr.open('POST', "http://Document/");
    //set enconding
    xhr.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    var myObject = {
         cf :fiscalCode,
         date_last_synchronization :date 
    };
    //send request with parameters
    xhr.send(JSON.stringify(myObject));
    // function to deal with errors
    xhr.onerror = function() {
        Ti.API.info("SERVIZIO IN ERRORE");
        Ti.API.info(this.responseText);
        disattivaSemaforo();
    };

    // function to deal with response
   xhr.onload = function() {
        var obj = JSON.parse(this.responseText);
        Ti.API.info(this.responseText);
        return obj;
    };

}

现在我希望如果 WS 返回正确的响应,我会将响应返回给方法 start。

那么如果当我尝试调用网络服务时,一切正常,方法

xhr.onload = function() {

是执行,我可以将 obj 返回到 start() 方法。

有可能这样做吗?

4

0 回答 0