Foros del Web » Programando para Internet » Jquery »

Enviar formulario a otro servidor con Ajax (Jquery)

Estas en el tema de Enviar formulario a otro servidor con Ajax (Jquery) en el foro de Jquery en Foros del Web. Hola chicos(as), mi pregunta es . Quiero saber si es posible enviar datos por POST con ajax de jquery de un servidor a otro ? ...
  #1 (permalink)  
Antiguo 08/10/2011, 08:58
Avatar de Andreys123456  
Fecha de Ingreso: febrero-2009
Ubicación: Perez Zeledon
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 0
Enviar formulario a otro servidor con Ajax (Jquery)

Hola chicos(as), mi pregunta es .

Quiero saber si es posible enviar datos por POST con ajax de jquery de un servidor a otro ?

O que se necesita para que funcione. ?

He hecho pruebas, miro que me funciona enviar los datos, pero no me devuelve ningun resultado ??

Código:
$.post('https://otroservidor.com/recibe.php',{'var1':var1,'var2':var2},function(data){			
	alert(data);
});
Hay que hacer algo en especial ??

Gracias de antemano a todos !!
  #2 (permalink)  
Antiguo 08/10/2011, 11:20
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Enviar formulario a otro servidor con Ajax (Jquery)

no se puede debido a la limitación de dominios con el XmlHttpRequest, que te obliga a solo enviar peticiones dentro del mismo dominio.

una alternativa es JSONP (ajax cross-domain)
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 08/10/2011, 11:23
Avatar de Andreys123456  
Fecha de Ingreso: febrero-2009
Ubicación: Perez Zeledon
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Enviar formulario a otro servidor con Ajax (Jquery)

Pero si se puede enviar ?? o no?
es que las prueba que hice al parecer si recibi los datos, pero no me devolvio ninguna respuesta.

Gracias y saludos !!
  #4 (permalink)  
Antiguo 08/10/2011, 11:37
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Enviar formulario a otro servidor con Ajax (Jquery)

La verdad es que no debería ponerse por esa limitación del objeto xmlHttpRequest, sin embargo se pude simular.

Código:
function getHTML($d,$method,$vars,$ref='') 
{ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,$d); 
    curl_setopt($ch, CURLOPT_REFERER, $ref); 
    curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch, CURLOPT_MAXREDIRS,3); 
    curl_setopt($ch,CURLOPT_VERBOSE,0);   // me informará (si esta en cero) de todos los errores que halla curl 
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,3); 
    if ($method == 'POST') 
    { 
        curl_setopt($ch, CURLOPT_POST, 1); 
        curl_setopt($ch, CURLOPT_POSTFIELDS, $vars); 
    } 
    $buffer = curl_exec ($ch); 
    curl_close ($ch); 
    unset($ch); 
    return $buffer; 
}
Esta es una función que permite obtener el HTML de una página cualquiera, se podría decir que es una versión en PHP del objeto xmlHttpRequest. Bien, en el archivo que usas para procesar el llamado Ajax, debes usar esa función para llamar al archivo procesador del otro dominio, le podrás pasar parámetros incluso por POST. Debes asegurarte que las funciones CURL estén activas. Espero que te sirva.
  #5 (permalink)  
Antiguo 08/10/2011, 12:29
Avatar de Andreys123456  
Fecha de Ingreso: febrero-2009
Ubicación: Perez Zeledon
Mensajes: 148
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Enviar formulario a otro servidor con Ajax (Jquery)

Gracias Artificium Voy a investigar sobre ese metodo !!!

una pregunta eso del CURL funciona en el localhost?
  #6 (permalink)  
Antiguo 08/10/2011, 15:15
Avatar de Artificium  
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: Enviar formulario a otro servidor con Ajax (Jquery)

Si, pero usualmente estás desactivadas, tienes que activar esa extensión mediante php.ini.

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 14:27.