我不知道雅虎是否在晚上改变了一些东西,但昨天的作品今天没有改变......
因此,如果您尝试使用this,它就可以运行并从Google主页返回预期的HTML。
如果您尝试this,它也会按预期工作。
现在,如果我尝试使用JavaScript来调用YQL控制台提供的REST查询来进行呼叫,我会收到以下消息:
{"error": {
"description": "No definition found for Table htmlstring",
"diagnostics": {"url": {
"content": "http://www.datatables.org/data/htmlstring.xml",
"execution-stop-time": "1",
"http-status-message": "Bad Request",
"execution-time": "1",
"http-status-code": "400",
"execution-start-time": "0"
}},
"lang": "en-US"
}}
这是我使用的JavaScript:
var createCORSRequest=function(method, url) {
var xhr = new XMLHttpRequest();
if ("withCredentials" in xhr) {
// XHR for Chrome/Firefox/Opera/Safari.
xhr.open(method, url, true);
} else if (typeof XDomainRequest != "undefined") {
// XDomainRequest for IE.
xhr = new XDomainRequest();
xhr.open(method, url);
} else {
// CORS not supported.
xhr = null;
}
return xhr;
}
// Make an actual CORS request.
var makeCorsRequest=function(url) {
var deferred=jQuery.Deferred();
var xhr = createCORSRequest('GET', url);
if (!xhr) {
deferred.fail('CORS not supported');
return;
}
// Response handlers.
xhr.onload = function() {
deferred.resolve(JSON.parse(xhr.responseText));
};
xhr.onerror = function() {
deferred.fail('Woops, there was an error making the request.');
};
xhr.send();
return deferred;
}
var resturl = "https://query.yahooapis.com/v1/public/yql?q=env%20%22store%3A%2F%2Fdatatables.org%2Falltableswithkeys%22%3B%20select%20*%20from%20htmlstring%20where%20url%3D%22https%3A%2F%2Fwww.google.com%22&format=json&diagnostics=true&callback=";
makeCorsRequest(resturl).then(function(data) {
console.log(data)
})
旁注:在YQL控制台上,它几乎一直在工作,但我收到了一些失败。所以我想知道是否有YQL中断?
答案 0 :(得分:0)
我不知道它是否相关,但我认为它们已经被黑了,看看这个,它们服务器中的另一个标题。奇怪的链接:Yahoo
答案 1 :(得分:-1)
我不知道它是否相关,但是YQL控制台无法返回RSS查询的结果 例如,这失败了:
select * from rss where url="http://razamazazzle.blogspot.com/feeds/posts/default"