否'访问控制允许来源'标头存在于请求的资源上.起源'null'因此不允许访问
No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access
我正试图解决浏览器中出现的错误:
XMLHttpRequest无法加载http://api.giphy.com/v1/gifs/search?q=%3Ca%20href=%22.请求的资源上不存在"Access Control Allow Origin"标头。因此,不允许访问源"null"。
我在互联网上看到了很多关于更改php文件或服务器文件等中的一些信息的主题……但我的应用程序只是一个简单的html文件和javascript文件,所以我不知道如何使其工作。导致错误的代码如下:
var getGifs = function(word) {
var xhr = $.get('http://api.giphy.com/v1/gifs/search?q=' + word + '&api_key=dc6zaTOxFJmzC&limit=16');
xhr.done(function(data) {
var linksArray = new Array(16);
for(var i = 0; i<16; i++){
var a= data.data[i].images.fixed_height.url;
linksArray[i] = a;
}
for (var i=0; i<16; i++) {
$('#gifs .row').append('<div class="col-sm-3"><div class="img-wrapper"><img class="col-sm-12 gif-img" src="' +
linksArray[i]+ '"/>' +
'<div class="source-button btn btn-primary btn-sm">Use</div></div></div>');
}
});
}
所以我第一次调用这个方法是可以的,但如果我下次尝试调用它,就会出现错误。任何帮助都将不胜感激。。
跨域ajax请求受到限制可能是错误的原因
在向服务器请求url之前先记录url,它似乎格式不正确。
这样做:
console.log('http://api.giphy.com/v1/gifs/search?q=' + word + '&api_key=dc6zaTOxFJmzC&limit=16')
然后将给定的url粘贴到一个新的选项卡中。
如果url正确,您将看到请求的资源。因此,问题可以通过以下方式解决:http://enable-cors.org/
相关文章:
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- WebResources嵌入式资源和Javascript如何在另一个嵌入式资源中使用它们
- 如何在构建node-webkit应用程序后获取外部资源
- ADF:有条件地加载javascript资源
- Javascript嵌入式图像资源
- 内容安全策略:页面's设置阻止加载资源
- 用于查询错误转换的角度资源返回列表
- 未能在Laravel中加载资源
- LINK rel=子资源用于什么
- 如何在JS文件中获取资源(.resx)字符串
- 我可以在Nodewebkit中保护javascript以外的资源吗
- "访问控制允许起源”;通过javascript从http页面调用同一网站的httpsurl时出现问题
- Nodejs服务器:加载资源失败:服务器的响应状态为404(未找到)
- js文件未加载js控制台say's”;不允许加载本地资源”;
- "资源不足错误“;当从Chrome控制台重复发出ajax请求时
- 否'访问控制允许来源'标头存在于请求的资源上.起源'http://localhost:8100&
- 否'访问控制允许来源'标头存在于请求的资源上.起源'null'因此不允许访问
- 否'访问控制允许来源'标头存在于请求的资源上.起源'文件://'因此不允许访问
- Ajax: No 'Access-Control-Allow-Origin'标头存在于请求的资源上.起源
- 试图从同一域中的站点获取资源时出现访问-控制-允许-起源错误