Foros del Web » Programando para Internet » Javascript » Frameworks JS »

XMLHttpRequest cannot load is not allowed by Access-Control-Allow-Origin.

Estas en el tema de XMLHttpRequest cannot load is not allowed by Access-Control-Allow-Origin. en el foro de Frameworks JS en Foros del Web. Estoy trabajando con una encuesta utilizando Ajax del Jquery, la forma en que cargo el Jquery es la siguiente, dentro de las etiquetas head : ...
  #1 (permalink)  
Antiguo 23/04/2012, 19:23
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
XMLHttpRequest cannot load is not allowed by Access-Control-Allow-Origin.

Estoy trabajando con una encuesta utilizando Ajax del Jquery, la forma en que cargo el Jquery es la siguiente, dentro de las etiquetas head :
Código HTML:
Ver original
  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>

Y una parte del codigo que se inicia al utilizar la encuesta es la siguiente
Código Javascript:
Ver original
  1. if ($('input:radio[name=pollAnswerID]:checked').length) {
  2.             $("#pollAjaxLoader").show(); //show the ajax loader
  3.             $.ajax({  
  4.                 type: "POST",  
  5.                 url: "?mod=inicio&opcion=vote",  
  6.                 data: { pollAnswerID: pollAnswerVal, action: "vote" },
  7.                 success: function(theResponse) {

El problema esta cuando entro a la página utilizo la encuesta por primera vez y me sale el siguiente error:

XMLHttpRequest cannot load http://www.onlinecomitan.com.mx/?mod=inicio&opcion=vote. Origin http://onlinecomitan.com.mx is not allowed by Access-Control-Allow-Origin

E tratado de solucionar el error de diversas formas, cambiar el valor de la variable url por el nombre de dominio completo, cargar el jquery de manera local pero no me ha funcionado.

Cuando he navegado en la página al menos 1 vez en cualquier otra parte y regreso a la encuesta funciona de manera perfecta, el javascript no me lanza ningun error, es la primera vez que utilizo jquery de esta forma, espero me puedan ayudar gracias...
__________________
"Diseño de software a la medida"

http://www.sadhoc.com
  #2 (permalink)  
Antiguo 24/04/2012, 08:49
Avatar de mark_ant0n  
Fecha de Ingreso: enero-2009
Ubicación: Comitan, Chiapas mx
Mensajes: 388
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: XMLHttpRequest cannot load is not allowed by Access-Control-Allow-Origin.

Me he dado cuenta de cual es el origen del problema:

1.- Cuando entro mi página generalmente lo hago escribiendo http://onlinecomitan.com.mx
2.- Pruebo la encuesta y me marca el error
XMLHttpRequest cannot load http://www.onlinecomitan.com.mx/?mod=inicio&opcion=vote. Origin http://onlinecomitan.com.mx is not allowed by Access-Control-Allow-Origin
--------------------------------------------------------------
Pero cuando entro a mi página escribiendo la dirección completa http://www.onlinecomitan.com.mx, no existe ningun problema, la solución más rápida que se me ocurre es redirigir cuando detecte un onlinecomitan.com.mx, si existe otra solución les agradecería su ayuda... Gracias...
__________________
"Diseño de software a la medida"

http://www.sadhoc.com
  #3 (permalink)  
Antiguo 24/04/2012, 16:10
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 1 mes
Puntos: 192
Respuesta: XMLHttpRequest cannot load is not allowed by Access-Control-Allow-Origin.

Ese tipo de error suelo solucionarlo usando JSONP. Investiga un poco, a lo mejor se aplique a tu caso también (aunque vos estás haciendo POST).

Probá primero si agregando "&callback=?" al url se arregla. Algo así:
Código Javascript:
Ver original
  1. $.ajax({  
  2.                 type: "POST",  
  3.                 url: "?mod=inicio&opcion=vote&callback=?",

O bien:
Código Javascript:
Ver original
  1. $.ajax({  
  2.                 type: "POST",  
  3.                 url: "?mod=inicio&opcion=vote",
  4.                 dataType : "jsonp"


Otra solución podría ser agregar la siguiente cabecera en el archivo al que realizas la petición:
Código PHP:
Ver original
  1. header('Access-Control-Allow-Origin: *');


O:
https://www.google.com.ar/search?sou...ss+domain+AJAX
__________________
nahueljose.com.ar
  #4 (permalink)  
Antiguo 30/10/2012, 06:58
 
Fecha de Ingreso: mayo-2012
Mensajes: 1
Antigüedad: 11 años, 11 meses
Puntos: 0
De acuerdo Respuesta: XMLHttpRequest cannot load is not allowed by Access-Control-Allow-Origin.

header('Access-Control-Allow-Origin: *');


funciona de maravilla, gracias

Etiquetas: ajax
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:22.