简体   繁体   English

使用Behance API + Queryloader时出现Access-Control-Allow-Origin错误?

[英]Access-Control-Allow-Origin Error when using Behance API + Queryloader?

This is interesting. 这是有趣的。 I'm using the Behance API to call some data from my profile on there to make a small portfolio carousel. 我正在使用Behance API从那里的个人资料中调用一些数据,以制作小型投资组合轮播。 I started catching these errors after I added QueryLoader2 to my webpage: 在将QueryLoader2添加到我的网页后,我开始捕获这些错误:

控制台错误

I tried to add <?php header('Access-Control-Allow-Origin: *'); ?> 我试图添加<?php header('Access-Control-Allow-Origin: *'); ?> <?php header('Access-Control-Allow-Origin: *'); ?> to the top of my page but no changes. <?php header('Access-Control-Allow-Origin: *'); ?>到我页面的顶部,但没有更改。

Then I tried to add Header set Access-Control-Allow-Origin * to my .htaccess file to still no avail. 然后,我尝试将Header set Access-Control-Allow-Origin *到我的.htaccess文件中,仍然无济于事。

Some more code that could be helpful: 其他一些可能有用的代码:

Queryloader JavaScript: Queryloader JavaScript:

<script src="https://cdn.jsdelivr.net/jquery.queryloader2/2.3/jquery.queryloader2.min.js" type="text/javascript"></script>
<script>
$(document).ready(function () {
    $("body").queryLoader2({
        percentage:true
    });
});
</script>

Behance API Bootstrap Portfolio Script: Behance API引导程序包脚本:

$(function () {

    var beUsername = 'josephrobee27e',
        beApiKey = 'ugCqRrCuAuHAD6gvDTmegYXLxO2lWVca',
        bePerPage = 25,
        beProjectAPI = '//www.behance.net/v2/users/' + beUsername + '/projects?callback=?&api_key=' + beApiKey + '&per_page=' + bePerPage,
        beItemWidth = 360,
        beItemHeight = 282,
        beLazyLoad = true,
        beLinkTarget = '_self';

    /**
     * Get Data from Behance API
     */
    if (sessionStorage.getItem('behanceProject')) {
        setPortfolioTemplate();
    } else {
        // Load JSON-encoded data from the Behance API & Store it in sessionStorage
        $.getJSON(beProjectAPI, function (project) {
        sessionStorage.setItem('behanceProject', JSON.stringify(project));
            setPortfolioTemplate();
        });
    }

    /**
     * Populate Data
     */
    function setPortfolioTemplate() {
        var projects = JSON.parse(sessionStorage.getItem('behanceProject')).projects;
        var portfolio = $('.be__portfolio').html('');
        var items = '';
        var image = '';
        var viewmorelink = '';

        $.each(projects, function (i, val) {
            // If Lazy load is enabled, edit the markup accordingly
            beLazyLoad ? image = 'src="images/loading.png" data-lazy="' + val.covers.original + '"' : image = 'src="' + val.covers.original + '"';

            // Create the items template
            items += '<div class="be__item be__item__' + val.id + ' col-lg-4 col-md-4 col-sm-6 col-xs-12 desc">';
            items += '<div class="project-wrapper">';
            items += '<div class="project">';
            items += '<div class="photo-wrapper">'
            items += '<div style="position: relative;padding-bottom: 69%;height: 0;" class="photo">';
            items += '<a class="fancybox" target="_blank" href="' + val.url + '" title="' + val.name + '" target="' + beLinkTarget + '">';
            items += '<div style="background-image:url(\''+ val.covers.original +'\');background-size:cover;background-position:center;background-repeat: no-repeat;width:370px;height:255px;max-width:100%;position:absolute;top:0;left:0;width:100%;height:100%;"></div>';
            items += '</a>';
            items += '</div>';
            items += '<div class="overlay"></div>';
            items += '</div>';
            items += '</div>';
            items += '</div>';
            items += '</div>';

            // How many items are shown
            if ($(".be__slider")[0]){
            return i < 8;
            }else{
                return i < bePerPage;
            }
        });

        // Append items only once
        portfolio.each(function (index, el) {
            $(el).append(items);
            if ($(".be__slider")[0]){
            viewmorelink += '<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12 desc">';
                viewmorelink += '<div class="project-wrapper">';
                viewmorelink += '<div>';
                viewmorelink += '<div style="position: relative;padding-bottom: 69%;height: 0;">';
                viewmorelink += '<div class="photo vertical-center" style="background-color:#206182;width:370px;height:255px;max-width:100%;position:absolute;top:0;left:0;width:100%;height:100%;">';
                viewmorelink += '<a href="http://josephrobertsdesigns.com/index.php/portfolio" class="btn btn-default">';
                viewmorelink += '<h2 style="margin-top:0;margin-bottom:0;"><i class="fa fa-clone"></i> View Entire Portfolio</h2>';
                viewmorelink += '</a>';
                viewmorelink += '</div>';
                viewmorelink += '</div>';
                viewmorelink += '</div>';
                viewmorelink += '</div>';
                viewmorelink += '</div>';
                $(el).append(viewmorelink);
            }
        });

        // Create Lazy Load instance for Grid Layout
        if (beLazyLoad) {
            var layzr = new Layzr({
                container: '.be__grid',
                selector: '[data-lazy]',
                attr: 'data-lazy'
            });
        }

        $(document).ready(function(){

        $('.be__slider').slick({
            infinite: true,
            slidesToShow: 3,
            slidesToScroll: 1,
            lazyLoad: 'ondemand',
            prevArrow: '<div class="slick-prev"><i style="color:#206182;font-size: 28px;" class="fa fa-chevron-left"></i></div>',
            nextArrow: '<div class="slick-next"><i style="color:#206182;font-size: 28px;" class="fa fa-chevron-right"></i></div>',
            responsive: [{
                breakpoint: 768,
                settings: {
                    slidesToShow: 2,
                    slidesToScroll: 1,
                    arrows: false
                }
            }, {
                breakpoint: 480,
                settings: {
                    slidesToShow: 1,
                    slidesToScroll: 1,
                    arrows: false,
                }
            }]
        });

        });;

    }

});

Can't seem to find any resources on anyone experiencing a similar problem. 遇到任何类似问题的人似乎都找不到任何资源。 My QueryLoader is also getting stuck at 94% and my guess is that it has something to do with this. 我的QueryLoader也卡在94%的位置,我的猜测是与此有关。 Any Insight? 有见识吗? Thanks. 谢谢。

Ok, have no idea how this fixed it. 好的,不知道如何解决此问题。 But basically what I realized is that there has been a few new versions since that queryloader2 CDN was last updated. 但是基本上我意识到,自从上一次更新queryloader2 CDN以来,已经有了一些新版本。 So I hosted the lasted version on my server and called that instead, and the problem was fixed. 因此,我在服务器上托管了最新版本,然后调用了该版本,此问题已解决。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 JavaScript-API请求(Access-Control-Allow-Origin错误) - JavaScript - API request (Access-Control-Allow-Origin error) 使用Restangular时出现“ Access-Control-Allow-Origin”标题问题 - 'Access-Control-Allow-Origin' header issue when using Restangular “向Jawbone UP API发送请求时,”请求的资源上没有&#39;Access-Control-Allow-Origin&#39;标头“错误 - “No 'Access-Control-Allow-Origin' header is present on the requested resource” error when sending request to Jawbone UP API Cors header “访问控制允许来源”被阻止 Api 响应 - Cors header “Access-control-allow-origin” blocked Api Response Access-Control-Allow-Origin-尝试从Wordpress安装访问JSON时出错 - Access-Control-Allow-Origin - Error when trying to access JSON from Wordpress installation 使用Angular.js和带有Laravel5.1的API的错误访问控制允许原点 - Error Access-Control-Allow-Origin With Angular.js and API with Laravel5.1 HMVC Codeigniter中没有“ Access-Control-Allow-Origin”错误 - No 'Access-Control-Allow-Origin' error in HMVC Codeigniter 获取 Access-Control-Allow-Origin 标头错误 - getting error of Access-Control-Allow-Origin header CORS,IIS7和PHP - Access-Control-Allow-Origin错误 - CORS, IIS7 and PHP - Access-Control-Allow-Origin error 同一域上的Access-Control-Allow-Origin错误 - Access-Control-Allow-Origin error on same domain
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM