否'访问控制允许来源'标头存在于请求的资源上.起源'null'因此不允许访问

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access

本文关键字:资源 起源 访问 不允许 请求 null 于请求 访问控制 存在      更新时间:2023-09-26

我正试图解决浏览器中出现的错误:

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/