我正在尝试使用 YQL 对来自 wordpress 博客的数据执行跨域请求。这是我第一次尝试的代码:
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 对象。这两个调用有什么区别?更重要的是,为什么只有第二个有效?