javascript - funcionó - falta la cabecera cors ''access-control-allow-origin'' angular
jQuery JSONP ajax, no se ha establecido el encabezado de autenticación (4)
Cuando se necesita autenticación en una solicitud de dominio cruzado, debe usar un servidor proxy de algún tipo.
Como el uso de dataType: jsonp
hace que la solicitud HTTP se realice desde el script que se agrega al DOM, los encabezados establecidos en $.ajax
no se usarán.
Estoy intentando realizar una solicitud ajax a la API de contactos de Google con la siguiente configuración:
$.ajax({
url: "https://www-opensocial.googleusercontent.com/api/people/@me/@all",
dataType: ''jsonp'',
data: {
alt: ''json-in-script''
},
headers: {
''Authorization'': ''Bearer '' + token
},
success: function(data, status) {
return console.log("The returned data", data);
}
});
Pero el encabezado de autenticación no parece estar configurado. ¿Algunas ideas?
Parece que la mayoría de los recursos REST OAUTH2 aceptan el parámetro access_token como parte de la url de solicitud
http://self-issued.info/docs/draft-ietf-oauth-v2-bearer.html#query-param
Por favor, pruebe el siguiente código en su lugar:
$.ajax({
dataType: ''jsonp'',
url: url,
data: {
''access_token'':token.access_token
},
jsonpCallback: ''thecallback'',
success: function(data){
_cb(data);
},
error: function(d){
_cb(d);
}
});
Simplemente haga esto (jquery 2.0, pero debería funcionar en versiones anteriores)
$.ajax({
url: "/test",
headers: {"Authorization": "Bearer " + $(''#myToken'').val()}
})
.done(function (data) {
console.log(data);
})
.fail(function (jqXHR, textStatus) {
alert("error: " + textStatus);
});
Tuve el mismo problema recientemente. Prueba esto:
$.ajax({
url: "https://www-opensocial.googleusercontent.com/api/people/@me/@all",
dataType: ''jsonp'',
data: {
alt: ''json-in-script''
},
success: function(data, status) {
return console.log("The returned data", data);
},
beforeSend: function(xhr, settings) { xhr.setRequestHeader(''Authorization'',''Bearer '' + token); }
});
EDITAR: Parece que no se puede hacer con JSONP. Modificar los encabezados HTTP para una solicitud JSONP