jquery - Imgur API 加载失败

标签 jquery api imgur

我在控制台中得到这个:

Failed to load https://api.imgur.com/3/image: The 'Access-Control-Allow-Origin' header contains the invalid value ''. Origin 'https://example.org' is therefore not allowed access.

这是我的代码:

            var formData = new FormData();
            formData.append('image', $('#imgur-api-upload')[0].files[0]);
            formData.append('type', 'file');
            formData.append('name', $('#imgur-api-upload')[0].files[0].name.replace('.jpg', ''));
            // request
            $.ajax({
                async: true,
                crossDomain: true,
                url: 'https://api.imgur.com/3/image',
                method: 'POST',
                headers: {
                    'Authorization': 'Bearer ' + imgur_access_token
                },
                processData: false,
            contentType: false,
            mimeType: 'multipart/form-data',
            data: formData
            })
            .done(function(dataResponse) {
                console.log(dataResponse);
                if (dataResponse.hasOwnProperty('status') && dataResponse.hasOwnProperty('success')) {
                    if (dataResponse['success'] == true && dataResponse['status'] == 200) {
                        $('#episode_image').val(dataResponse['data']['link']);
                    } else {
                        alert('Error: ' + dataResponse['data']['error']);
                    }
                }
            })

我尝试匿名上传图像,但遇到了同样的错误。 这是响应 header :

access-control-allow-credentials:true
access-control-allow-headers:Authorization, Content-Type, Accept, X-Mashape-Authorization, IMGURPLATFORM, IMGURUIDJAFO, SESSIONCOUNT, IMGURMWBETA, IMGURMWBETAOPTIN
access-control-allow-methods:GET, PUT, POST, DELETE, OPTIONS
access-control-allow-origin:
access-control-expose-headers:X-RateLimit-ClientLimit, X-RateLimit-ClientRemaining, X-RateLimit-UserLimit, X-RateLimit-UserRemaining, X-RateLimit-UserReset
cache-control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
content-encoding:gzip
content-length:330
content-type:application/json
date:Wed, 04 Oct 2017 03:25:41 GMT

但是在响应选项卡中我看到了 json,但似乎无法访问它。

我尝试在 WordPress 的 .htaccess 中添加 Header set Access-Control-Allow-Origin * 但没有成功。

编辑:
“可能重复”的答案不能解决我的问题,已经在 localhost/example.dev、实时网站、Chrome/Firefox/Edge、不同网络上的不同电脑中尝试了示例(在发布问题之前),但仍然获得空访问权限 -控制允许原点。

编辑2:
API 支持团队:此问题是由配置错误引起的,现在应该得到解决。

最佳答案

我从昨天开始也遇到这个问题。问题似乎是浏览器认为空白的 Access-Control-Allow-Origin header 值无效。也许这是 API 中的回归?预检响应正确具有 Access-Control-Allow-Origin: *

关于jquery - Imgur API 加载失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46556653/

相关文章:

javascript - 数据表搜索单击的元素

两个表上的 jQuery Tablesorter

javascript - 如何从 CSS 获取颜色值

json - 尝试解析 JSON 值时出错

api - 如何在 Gitlab 中跟踪 token 的来源?

jquery - 一起使用 Angular2 + JQuery 怎么样?

imgur - 如何从 API imgur 上传视频

java - 使用 Java 的 Imgur API 请求返回 400 状态

vb.net - Imgur API和VB.NET帮助-图片发布

python - Instagram api 不返回数据