Titanium:获取html源代码

时间:2015-03-12 13:01:44

标签: html titanium

我正在使用Titanium创建一个应用程序,我希望从URL获取HTML源代码并将其作为字符串返回。我试图做以下事情:

function getHTML(URL) {
  var client = Ti.Network.createHTTPClient({
      onload: function(){
          Ti.API.info("Received HTML!");
          return this.responseText;
      },
      onerror: function(e){
        Ti.API.debug(e.error);
        alert('Internetconnection failed. Try again later.');
      },
      timeout : 5000
  });
  client.open("GET", URL);
  client.send();
}

但是,当我运行此代码时,似乎该函数没有返回任何内容。 非常感谢您的帮助。 附:我需要专门的HTML源代码,所以使用像JQuery这样的东西对我来说并没有什么帮助。

1 个答案:

答案 0 :(得分:0)

由于函数onload是异步的,它确实不会返回任何内容。您必须使用回调函数才能使其正常工作

function getHTML(URL, callback) {
    var client = Ti.Network.createHTTPClient({
    onload: function(){
        Ti.API.info("Received HTML!");
        if (callback){
             callback(this.responseText);
        }
    },
    onerror: function(e){
        Ti.API.debug(e.error);
        alert('Internetconnection failed. Try again later.');
    },
    timeout : 5000
    });
    client.open("GET", URL);
    client.send();
}

所以要打电话,请这样做:

getHTML('http://google.com', function(html){
     console.log('got html!', html);
});