Domanda

Sto cercando di inviare richiesta dal server locale al server di youtube bu console Chrome è visualizzato il seguente messaggio di errore

non è consentito da Access-Control-Allow-Origin Codice è

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);

Sarà fatto implementando la funzione di callback JSONP. Ma non ho idea di come implementarlo
plz mi guida

È stato utile?

Soluzione

Non è possibile utilizzare XMLHttpRequest contro l'API di YouTube a causa del browser stessa origine politica . Invece, si dovrebbe utilizzare la funzionalità JSON-p di YouTube API:

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

Modifica a partire dal 18 maggio 2012, i YouTube supporta API CORS: http://apiblog.youtube.com/2012/05/unlocking-javascripts-potential-with.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top