【问题标题】:Vimeo AJAX responseVimeo AJAX 响应
【发布时间】:2011-10-15 23:31:45
【问题描述】:

我正在尝试从 Vimeo 获取 AJAX 响应,以提取没有 JQuery 的缩略图。 但是我没有收到响应,尽管如果我在浏览器中输入响应查询 (http://vimeo.com/api/v2/video/30408418.json),我会提供下载文件并且它包含响应json格式的数据... 我刚刚尝试将相同的请求复制到我有 Flickr 响应工作的页面(使用 jQuery),但响应仍然是空的,所以我认为这不是 JSONP 问题。

这是我的代码

var vimeoVid= {};
var request = getHTTPObject();
if(request){
    var requString="http://vimeo.com/api/v2/video/30408418.json";
    request.open('GET',requString,true);
    request.onreadystatechange=function(){
        if(request.readyState==4){
        vimeoVid = JSON.parse(request.responseText);
        }
    };
    request.send();
    }
    else
    {
    alert('Sorry, your browser doen\'t support XMLHttpRequest');
    }
    console.log("vimeoVid");

在哪里

function getHTTPObject(){
if(typeof XMLHttpRequest == "undefined")

XMLHttpRequest=function(){
try{return new ActiveXObject("Msxml2.XMLHHTP.6.0");}
catch(e){}

try{return new ActiveXObject("Msxml2.XMLHTTP.3.0");}
catch(e){}
try{return new ActiveXObject
("Msxml2.XMLHTTP");}
catch(e){}
return false;
}
return new XMLHttpRequest();
}

【问题讨论】:

    标签: javascript ajax jsonp vimeo


    【解决方案1】:

    AJAX 不能跨域工作(现代浏览器和特别允许的情况除外)。你必须使用JSONP

    示例网址:http://vimeo.com/api/v2/video/30408418.json?callback=bacon

    【讨论】:

    • 谢谢,一开始我也是这么想的,后来我在最新的火狐上试了一下,根据MDN支持跨域请求,在我之前写的脚本里试了同样的字符串使用 jQuery,最初我从 flickr 获取数据,而 jQuery 正在处理 JSONP,但它也不起作用。两种情况我都没有指定回调,这有关系吗?
    • 支持跨域请求,但必须得到源端的允许。服务器必须发送“访问控制”标头,请参见此处developer.mozilla.org/En/…。我提供的示例 URL 应该适用于 jQuery.getJSON
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-05
    • 2021-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 1970-01-01
    相关资源
    最近更新 更多