在没有Jquery的情况下获取远程JSON?

时间:2012-03-10 19:35:11

标签: javascript json

我想要具体做的是通过抓取请求返回的json数据来获取Vimeo缩略图。我不能使用jquery,因为javascript文件是用户调用的小型远程文件,而jquery会多次增加它的大小。

我看了,似乎所有内容都在谈论jquery或者用另一种语言(例如php)。

到目前为止,我发现我需要这样做:

var script = document.createElement('script');
script.src = theUrlToMakeTheRequest;
document.getElementsByTagName('head')[0].appendChild(script);

我不确定我需要做什么回调而不确定我需要做什么才能使用附加的url。

2 个答案:

答案 0 :(得分:7)

来自vimeo的文档

http://vimeo.com/api/docs/simple-api

看起来你可以在url的末尾放一个?callback = myfunction参数来做一个jsonp类型的回调。所以你的代码可能看起来像这样。

function myfunction(data) {
    alert(data);
}

var script = document.createElement('script');
script.src = theUrlToMakeTheRequest + '?callback=myfunction';
document.getElementsByTagName('head')[0].appendChild(script);

他们的下载页面看起来只有您尝试做的示例。 http://vimeo.com/api/docs/downloads

答案 1 :(得分:3)

您可以使用原始XMLHttpRequest

执行此操作

或者对于可以执行此操作的小型轻量级库,请查看zepto.js

如果你只是从...中包含zepto.js和ajax.js https://github.com/madrobby/zepto/tree/master/src

你会在30k未压缩的javascript中使用JQuery兼容的解决方案(可能<4k缩小)