Comunidad de diseño web y desarrollo en internet online

problemas crossdomain

Citar            
MensajeEscrito el 04 Dic 2008 04:07 pm
despues de haber leido varios temas de esto , acabo por pedir ayuda por que no consigo hacerlo funcionar.
Tengo una pagina en As3, con un formulario de contacto que sera procesado en Php.La cosa es que tengo la pagina en un alojamiento sin php, y el archivo send php en otro.Creo se hace con esto de croos domain.xml, pero no funciona.Os pongo los codigos.
En el primer fotograma de la pagina pongo este trozo de codigo:

Código :

Security.loadPolicyFile("http://www.midominio.es/crossdomain.xml")


En codigo del formulario:

Código :

contact_name.text = contact_email.text = contact_subject.text = 
contact_message.text = message_status.text = "";

send_button.addEventListener(MouseEvent.CLICK, submit);
reset_button.addEventListener(MouseEvent.CLICK, reset);

var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest( "http://www.midominio.es/carpeta/send_email.php" );
URL_request.method = URLRequestMethod.POST;

function submit(e:MouseEvent):void
{
   if( contact_name.text == "" || contact_email.text == "" ||
      contact_subject.text == "" || contact_message.text == "" )
   {
      message_status.text = "Por favor rellene todos los campos.";
   }
   else if( !validate_email(contact_email.text) )
   {
      message_status.text = "Por favor introduzca una dirección de e-mail válida";
   }
   else
   {
      message_status.text = "enviando...";
      
      var email_data:String = "nombre=" + contact_name.text
                  + "&email=" + contact_email.text
                  + "&asunto=" + contact_subject.text
                  + "&mensaje=" + contact_message.text;
                  
      var URL_vars:URLVariables = new URLVariables(email_data);
      URL_vars.dataFormat = URLLoaderDataFormat.TEXT;
      
      URL_request.data = URL_vars;
      var_load.load( URL_request );
      var_load.addEventListener(Event.COMPLETE, receive_response );
   }
}

function reset(e:MouseEvent):void
{
   contact_name.text = contact_email.text = contact_subject.text = 
   contact_message.text = message_status.text = "";
}

function validate_email(s:String):Boolean 
{
   var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
   var r:Object = p.exec(s);
   if( r == null ) 
   {
      return false;
   }
   return true;
}

function receive_response(e:Event):void
{
   var loader:URLLoader = URLLoader(e.target);
    var email_status = new URLVariables(loader.data).success;
   
   if( email_status == "yes" )
   {
      message_status.text = "Su mensaje se ha enviado correctamente.";
      timer = new Timer(500);
      timer.addEventListener(TimerEvent.TIMER, on_timer);
      timer.start();
   }
   else
   {
      message_status.text = "Error,su mensaje no ha podido ser enviado.";
   }
}

function on_timer(te:TimerEvent):void 
{
   if( timer.currentCount >= 10 )
   {
      contact_name.text = contact_email.text = contact_subject.text = 
      contact_message.text = message_status.text = "";
      timer.removeEventListener(TimerEvent.TIMER, on_timer);
   }
}



y este es el archivo crossdomain.xml, que lo he puesto en la raiz de alojamiento donde esta el send.php, es decir en http://www.midominio.es/crossdomain.xml

Código :

?xml version="1.0"?>
<cross-domain-policy>
    <allow-access-from domain="*"/>
</cross-domain-policy


No se si están mal ubicados los arhivos o los codigos.
Gracias por anticipado.

Por pepito piscinas

106 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Dic 2008 04:41 pm
¿Te sale el error de seguridad? Porque puede ser otra cosa

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Dic 2008 06:38 pm
No, simplemente , aparece el texto enviando.. que está puesto en el codigo y ya está no completa el envio.

Por pepito piscinas

106 de clabLevel



 

msie
Citar            
MensajeEscrito el 04 Dic 2008 09:52 pm
Tu problema me parece que es el mismo que el mío, postado como NetConnection. Desde el fla yo conseguia hacer que el php funcione pero cuando colocaba el swf en el sítio como se trataban de domínios diferentes aun cuando el servidor es el mismo el envío no se completaba. Esto en el Firefox, cuando hice lo mismo en el IE7 él me informó el error Sandbox.

Intentá en el IE7 para ver que te dice.

Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Dic 2008 10:34 pm
Prueba a hacer esto:

en esta linea,

var_load.load( URL_request ,loaderContext);

mete esto:

var loaderContext:LoaderContext = new LoaderContext();
loaderContext.checkPolicyFile = true;
var_load.load( URL_request ,loaderContext);

Saludos

Por SdR

23 de clabLevel



Genero:Masculino  

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.