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

Llamar a una funcion que esta en otro dominio

Estas en el tema de Llamar a una funcion que esta en otro dominio en el foro de Frameworks JS en Foros del Web. Buenas Tardes: Po aquí con una duda muy complicada, a ver vamos al grano. Tengo dos Dominios El primero http://www.dominio1.com Y el otro http://www.dominio2.com Dentro ...
  #1 (permalink)  
Antiguo 01/06/2009, 09:26
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 8 meses
Puntos: 1
Llamar a una funcion que esta en otro dominio

Buenas Tardes:

Po aquí con una duda muy complicada, a ver vamos al grano.

Tengo dos Dominios

El primero http://www.dominio1.com
Y el otro http://www.dominio2.com

Dentro del www.dominio2.com tengo un formulario que se se genera o se llama desde www.dominio1.com
….
Código HTML:
<script>
    window.onload = function()
    {
        CargarPagina("http://www.midominio1.com/carga_form.php?paramA=1&paramB=2");
        
    };
</script>
<div id=”cargar_formulario”>
<form name="frmBusqueda" action="http://www.dominio1.php/busqueda.php" method="post">
    <table width="250" align="center" cellpadding="1" cellspacing="1" border="0">
        <tr>
            <td width="213"><div align="center">Fecha Nacimiento</div></td>
        </tr>
        <tr>
          <td>
              <div align="center">
                <input type="text" value="" id="txt_fecha_nacimiento" name="txt_fecha_nacimiento" class="text"  />
            </div>          
            </td>
        </tr>
        <tr>
          <td>Mensaje</td>
        </tr>
        <tr>
          <td>
               <div id="divPersonas" style="visibility:hidden; display:none">Cualquier mensaje</div>
           </td>
        </tr>
    </table>
</form>
</div> 
…..
….
Ahora en www.dominio1.com mediante ajax tengo que mostrar cualquier mensaje dentro del divPersonas que esta en www.dominio2.com .

En dominio1.com dentro de un directorio de java/ estan el objeto donde crea el objeto httmlRequest de la siguiente manera

Código:
function nuevoAjax()
{
    var xmlhttp=false;
    try 
    {
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e)
    {
        try
        {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch (E)
        {
            xmlhttp = false;
        }
    }

    if (!xmlhttp && typeof XMLHttpRequest!='undefined')
    {
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
}

function CargarPagina (pagina)
{
    oAjax = nuevoAjax();

    oAjax.onreadystatechange = function() { // instructions to process the response };                   
        if (oAjax.readyState == 4)
        {           
             if(oAjax.status  == 200) 
             {                  
                  document.getElementById(‘cargar_formulario).innerHTML = oAjax.responseText; 
             }
              else 
              {
                 alert("Error");
              }                     
        }
        else 
        {
            // Wait...
        }
    }    
     oAjax.open("GET", pagina,  true); 
     oAjax.send(null); 
}
HASTA AQUI TODO CORRECTO. Me carga el formulario y todo bien.

Pero….
Quiero que al mismo tiempo que cuando de carga el formulario del dominio2.com tambien se habilite el divPersonas, es decir:

Código HTML:
<div id="divPersonas" style="visibility:visible; display:block">Cualquier mensaje</div> 
Lo he realizado de varias maneras, inclusive hize algo similar como si cargara el fomulario es decir,

Código:
window.onload = function()
{
CargarPagina("http://www.midominio1.com/carga_form.php?paramA=1&paramB=2");

CargarDiv("http://www.midominio1.com/carga_div.php")………

}
Es decir :

Código:
function CargarDiv(pagina)
{
    oAjax = nuevoAjax();

    oAjax.onreadystatechange = function() { // instructions to process the response };                   
        if (oAjax.readyState == 4)
        {           
             if(oAjax.status  == 200) 
             {                  
document.getElementById("divPersonas ").innerHTML = "<div style=visibility:visible; display:block;>";

             }
              else 
              {
                 alert("Error");
              }                     
        }
        else 
        {
            // Wait...
        }
    }    
     oAjax.open("GET", pagina,  true); 
     oAjax.send(null); 
}
La pregunta como puede activar y mostrar el divPersonas que esta en midominio2.com
Gracias y saludos a todos
  #2 (permalink)  
Antiguo 01/06/2009, 19:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Llamar a una funcion que esta en otro dominio

AJAX tiene una limitación de que solo se pueden hacer requests al mismo dominio y al mismo puerto. No puedes hacer requests a otro dominio con AJAX.

Saludos.
  #3 (permalink)  
Antiguo 02/06/2009, 01:52
Avatar de JuanKa  
Fecha de Ingreso: septiembre-2004
Mensajes: 468
Antigüedad: 19 años, 8 meses
Puntos: 1
Respuesta: Llamar a una funcion que esta en otro dominio

Gracias GatorV por la respuesta y existe otra forma de como acceder a esa funcion.

Saludos
  #4 (permalink)  
Antiguo 02/06/2009, 20:08
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Llamar a una funcion que esta en otro dominio

No desde AJAX, tendrías que hacer un proxy en tu servidor y llamar a tu servidor local y que este llame al script remoto.

Saludos.
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 20:48.