Imgur API 加载失败
Imgur API Failed to load
我在控制台中得到这个:
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']);
}
}
})
我尝试匿名上传图片,但出现了同样的错误。
这是响应 Headers:
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 * 但没有成功。
编辑:
"possible duplicate" 答案没有解决我的问题,已经在本地主机/example.dev、实时网站、Chrome/Firefox/Edge、不同网络上的不同 pc 中尝试了示例(在发布问题之前),但仍然得到空 access-control-allow-origin.
编辑 2:
API 支持团队:此问题是由错误配置引起的,现在应该已解决。
我也是从昨天开始遇到这个问题。问题似乎是浏览器认为空白 Access-Control-Allow-Origin header 值无效。也许这是API中的倒退?预检响应正确地具有 Access-Control-Allow-Origin: *
API 支持团队:此问题是由错误配置引起的,现在应该已解决。
我在控制台中得到这个:
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']);
}
}
})
我尝试匿名上传图片,但出现了同样的错误。 这是响应 Headers:
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 * 但没有成功。
编辑:
"possible duplicate" 答案没有解决我的问题,已经在本地主机/example.dev、实时网站、Chrome/Firefox/Edge、不同网络上的不同 pc 中尝试了示例(在发布问题之前),但仍然得到空 access-control-allow-origin.
编辑 2:
API 支持团队:此问题是由错误配置引起的,现在应该已解决。
我也是从昨天开始遇到这个问题。问题似乎是浏览器认为空白 Access-Control-Allow-Origin header 值无效。也许这是API中的倒退?预检响应正确地具有 Access-Control-Allow-Origin: *
API 支持团队:此问题是由错误配置引起的,现在应该已解决。