Я пытаюсь выполнить междоменный запрос данных из блога WordPress, используя YQL. Это код из моей первой попытки:
var g = {data:""}
function getWP() {
var targeturl = "http://www.mysite.com";
var url = "http://query.yahooapis.com/v1/public/yql?"+
"q=select%20*%20from%20html%20where%20url%3D%22"+
encodeURIComponent(targeturl)+
"%22&format=xml'&callback=?";
var successfunc = function(data) {
if(data.results[0]){
g.data = data.results[o];
} else {
var errormsg = '<p>Error: could not load the page.</p>';
alert(errormsg);
}
}
$.ajax({
url: url,
success: successfunc
});
}
Когда я попробовал этот вызов ajax, возвращенный объект data
был пустой строкой. Однако, когда я сделал это:
$.getJSON(url, successfunc);
был возвращен правильный объект JSON. В чем разница между двумя вызовами? И что еще более важно, почему сработал только второй?