Я пытаюсь загрузить изображение на Imgur.com с помощью Imgur API и XMLHttpRequest, но по какой-то причине ничего не возвращается. Я использовал официальный пример Imgur , за исключением того, что я преобразовал ответ в json
через xhr.responseType = 'json';
У меня есть это:
var get_link = xhr.response.data.link.replace(/^http:\/\//i, 'https://');
alert(get_link);
, которое я бы ожидайте возврата ссылки на только что загруженное изображение, но буквально ничего не происходит.
Полная функция:
// Converts canvas into image and uploads to Imgur
function exportImg() {
var img = c.toDataURL("image/png");
var data = new FormData();
data.append("image", img);
var xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.open("POST", "https://api.imgur.com/3/image");
xhr.responseType = 'json';
xhr.setRequestHeader("Authorization", "Client-ID {{secret-id-here}}");
xhr.send(data);
xhr.onreadystatechange = function() {
if (xhr.readyState == XMLHttpRequest.DONE) {
var get_link = xhr.response.data.link.replace(/^http:\/\//i, 'https://');
alert(get_link);
document.querySelector('#imgLink').innerHTML = '<img class="img" src=\"' + get_link + '\"/>';
}
};
}
Пример ожидаемого ответа:
{
"data": {
"id": "orunSTu",
"title": null,
"description": null,
"datetime": 1495556889,
"type": "image/gif",
"animated": false,
"width": 1,
"height": 1,
"size": 42,
"views": 0,
"bandwidth": 0,
"vote": null,
"favorite": false,
"nsfw": null,
"section": null,
"account_url": null,
"account_id": 0,
"is_ad": false,
"in_most_viral": false,
"tags": [],
"ad_type": 0,
"ad_url": "",
"in_gallery": false,
"deletehash": "x70po4w7BVvSUzZ",
"name": "",
"link": "http://i.imgur.com/orunSTu.gif"
},
"success": true,
"status": 200
}
Как я могу заставить это отображать ссылку на полученное изображение в предупреждающем сообщении?