【问题标题】:Calling external Vimeo API from Angular $http从 Angular $http 调用外部 Vimeo API
【发布时间】:2013-10-07 04:13:58
【问题描述】:

我一直在尝试从我的 AngularJS 代码中调用外部 API (Vimeo),但我得到的只是 304 Not Modified。 我的代码:

this.$scope.$safeApply(() => {
    this.$http.jsonp('http://vimeo.com/api/v2/video/75532980.json?callback=?')
        .success((r) => {
            this.$log.info("Success: " + r);
        })
        .error((e) => {
            this.$log.info("Error: " + e);
        });
});

奇怪的是,当我从 fiddler 调用相同的 URL 时,一切似乎都正常,并且我得到了正确 JSON 的 200 响应。

【问题讨论】:

标签: angularjs vimeo


【解决方案1】:

这是一个正常工作的插件:http://plnkr.co/edit/PZ7rQXb3guREqGFsodHX?p=preview

我的答案来自:AngularJS is caching JSONP by default

您在查询中添加时间戳,这样它就不会被 Angular 缓存。另外,我根据文档 (AngularJS $http) 将您的回调值修改为 JSON_CALLBACK。

指定请求目的地的相对或绝对 URL。应包含 JSON_CALLBACK 字符串。

$http.jsonp('http://vimeo.com/api/v2/video/75532980.json?callback=JSON_CALLBACK&_=' + (new Date().getTime()))
    .success(function (r) {
        $log.info("Success: " + r);
    })
    .error(function (e) {
        $log.info("Error: " + e);
    });

【讨论】:

    猜你喜欢
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多