我正在使用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这样的东西对我来说并没有什么帮助。
答案 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);
});