Ajax API调用导致CORS问题

时间:2017-09-15 16:46:03

标签: javascript jquery ajax cors

我正在尝试使用他们的Javascript API从Sprout Video获取API响应。问题是我在请求中遇到了CORS问题。我可以在邮递员那里得到回复,但不能在我的网站上回复。

我发现了一些关于这个问题的问题,但到目前为止还没有找到适用于我的方案的工作解决方案。我认为添加标题'Access-Control-Allow-Origin':'*'应该可以解决它,但事实并非如此。我还尝试将dataType更改为jsonp,这导致了不同的错误,但仍然是错误。

谁能告诉我哪里出错?

$.ajax({ 
        type : 'GET', 
        url : 'https://api.sproutvideo.com/v1/videos/' + videoID,
        headers: {
            'SproutVideo-Api-Key':'ae463680265ac2ff7bf6255b3488d0c1',
            'Access-Control-Allow-Origin':'*',
            'Access-Control-Allow-Credentials': true,
        },
        dataType: 'json',
        crossDomain: true,
        success:function(result) { 
            console.log(result);
        }, 
        error:function(result) { 
            console.log(result); 
        } 
});

Here's a JSFiddle

2 个答案:

答案 0 :(得分:0)

我相信我们能够通过客户支持来解决这个问题,但是SproutVideo API并不是设计为使用客户端javascript访问的。 API允许您完全控制您的帐户,因此,您的API密钥应该与您的帐户密码一样谨慎对待。为了在客户端使用API​​,就像您在这里尝试的那样,您可以将API密钥暴露给访问过您网站的任何可能带来灾难性后果的人。

答案 1 :(得分:-1)

如果您尝试使用不安全的协议访问安全协议,则会收到此错误。 如果这是您的问题,请尝试将HTTP协议更改为通过在安全提供程序上托管它来保护,或者如果您的项目是基于Node.js,请尝试将其上载到安全服务。如果有帮助,请告诉我。