这是我的代码:
function getTitle(url) {
var urlToGet = "http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22" + encodeURIComponent(url) + "%22%20and%20xpath%3D'%2F%2Ftitle'&format=json";
$.ajax({
type: "GET",
url: urlToGet,
contentType: "application/json; charset=utf-8",
dataType: "jsonp",
success: function(data) {
var result = JSON.stringify(data);
if(JSON.parse(result).query.results !== null) {
return JSON.parse(result).query.results.title;
}
}
});
}
它使用YQL来获取给定 url 的标题。但是,getTitle("http://www.google.com")
返回undefined
,因为它是一个异步过程。所以我在互联网上搜索了解决这个问题的方法,确实,我看到了很多讨论,但没有真正的解决方案。有人可以清楚地说明我该如何解决这个问题吗?(注意:我无法在服务器端做任何事情)
谢谢!