2014-10-01 4 views
3

Я видел в своей документации, что поддерживается CORS. Но мои попытки сделать запрос с JavaScript не имеют успеха.Помогает ли API-интерфейс CORS?

запросив URL:

https://api-ssl.bitly.com/v3/shorten?longUrl=https://google.com/&access_token=token&domain=bit.ly&format=json&languageCode=en-US

Я получаю стандартную ошибку:

No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://google.com' is therefore not allowed access. 

UPD: Bitly документация - http://dev.bitly.com/cors.html

+0

Вы можете добавить ссылку на документацию вы говорите. – Quentin

+3

Если их документация не соответствует действительности, вы должны взять ее с собой в службу технической поддержки. – Quentin

ответ

0

Если кто-то еще с этим вопросом. Причина этого в том, что ответ по умолчанию (предполетный) от битового не включает заголовок «Access-Control-Allow-Origin».

, чтобы обойти это, я использовал XMLHttpRequest, который не отправляет предполетную запись.

let xhr = new XMLHttpRequest(); 
let url = 'https://api-ssl.bitly.com/v3/shorten?longUrl=https://google.com/&access_token=token' 
xhr.open('GET', url); 
xhr.onreadystatechange = function() { 
    if(xhr.readyState === 4) { 
    if(xhr.status===200) { 
     console.log(xhr.responseText) 
    } else { 
     console.log(xhr) 
    } 
    } 
}; 
xhr.send(); 

Это действительно упоминается в bitlly-х documentation