Olha so meu esquema esta assim:
Como local host funciona ok:
No local host esta assim:
No flex:
http://localhost/amfphp/gateway.phpAmfphp esta em :
http://localhost/amfphpChamo o flex em :
http://localhost/flexphp/bin/flexphp.htmlNa estrutura acima tudo funciona.
No meu servidor esta assim:
No flex:
http://192.168.0.300/amfphp/gateway.phpAmfphp esta em:
http://192.1680.300/amfphpChamo o flex em:
http://192.168.0.300/flexphp/bin/flexphp.htmlou
http://192.168.0.301/flexphp/bin/flexphp.htmlAqui no browser do amfphp eu pego as informações mas no flex nao retorna nada... e nao tenho nenhum erro.
Meu php esta assim:
<?php
// criando uma classe para PHP Remoting
class conexao {
function conexao() {
$this->methodTable = array(
"getLista" => array(
"description" => "Retorna conteudo da tabela",
"access" => "remote"));
}
function getLista() {
$conexao = mysql_connect("localhost","root","123456");
mysql_select_db("isp", $conexao);
$sql = "SELECT * FROM users";
$resultado = mysql_query($sql, $conexao);
while ($linha = mysql_fetch_object($resultado)) {
$ArrayRetorno[]=$linha;
}
mysql_free_result($resultado);
return($ArrayRetorno);
}
}
?> // este retorna os dados ate o browse do amf php mas nada pro flex
No flex esta assim
<mx:DataGrid dataProvider="{PHPDados}" x="10" y="10">
<mx:columns>
<mx:DataGridColumn headerText="Código" dataField="id"/>
<mx:DataGridColumn headerText="Nome" dataField="nome"/>
<mx:DataGridColumn headerText="email" dataField="email"/>
</mx:columns>
</mx:DataGrid>
<mx:Script>
<![CDATA[
import flash.net.Responder;
import mx.controls.Alert;
[Bindable]
public var PHPDados: Array;
public var gateway: ConexaoRemota;
public function buscaDadosMYSQL():void {
gateway = new ConexaoRemota("
http://192.168.0.300/amfphp/gateway.php");
gateway.call("conexao.getLista", new Responder(onOK, onFalha))
}
public function onOK(resultado:Array):void {
PHPDados = resultado;
Alert.show("teste");
}
public function onFalha(falha:String):void {
trace(falha);
}
]]>
</mx:Script>
</mx:Application> // ak nao retorna nada no meu browse nem obtenho erro.
Meu actionscript esta assim
package {
import flash.net.NetConnection;
import flash.net.ObjectEncoding;
public class ConexaoRemota extends NetConnection {
public function ConexaoRemota(strURL:String) {
objectEncoding = ObjectEncoding.AMF0;
if(strURL) connect(strURL);
}
}
}