не допускается Access-Control-Allow-Origin - PullRequest
2 голосов
/ 17 февраля 2012

Я пытаюсь отправить запрос с локального сервера на сервер YouTube, но на консоли Chrome отображается следующая ошибка

не разрешено Access-Control-Allow-Origin Код

http.open("POST", url, true);
    http.setRequestHeader("Authorization", "AuthSub token=" + AccessToken);
    http.setRequestHeader("GData-Version", 2);
    http.setRequestHeader("X-GData-Key", "key=" + dev_key);
    http.setRequestHeader("Content-Length", sendXML.length);
    http.setRequestHeader("Content-Type", "application/atom+xml; charset=UTF-8");



    http.onreadystatechange = function() 
    {
        if(http.readyState == 4) {
            alert(http.responseXML);
            alert(http.responseText);
            document.getElementById("response").innerHTML=http.getAllResponseHeaders();
        }
    }
    http.send(sendXML);

Это будет сделано путем реализации функции обратного вызова JSONP. Но я не знаю, как это реализовать
PLZ, направь меня

1 Ответ

5 голосов
/ 17 февраля 2012

Вы не можете использовать XMLHttpRequest против API YouTube из-за того, что браузер придерживается той же политики происхождения .Вместо этого следует использовать функцию json-p API YouTube:

http://code.google.com/apis/youtube/2.0/developers_guide_json.html

РЕДАКТИРОВАТЬ: С 18 мая 2012 г. API YouTube поддерживает CORS: http://apiblog.youtube.com/2012/05/unlocking-javascripts-potential-with.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...