Erro Cannot read property 'result' of null - DataSnap 2010 - Clube Delphi 119

Delphi

03/07/2011

gostaria de saber se alguem conseguiu executar o exemplo do clientweb referente a esse artigo da edicao 119 da clube delphi, eu baixei o fonte e o mesmo apresenta essa mensagem de erro no chrome Cannot read property 'result' of null e no mozilla data is null , se conseguiu fez alguma modicacao? eu to usando a versao 2010 do delphi, firebird 2.1, eu chamo a url no navegador mostra:
{"result":[[{"CODIGO":"CODIGO","NOME":"NOME","ENDERECO":"ENDERECO","FONE":"FONE"},{"Codigo":00452,"Nome":"BISMARK VITOR BORBA ","Endereco":"RUA ANTONIO AMARAL N\u00BA 45","Telefone":""},{"Codigo":00160,"Nome":"ANTONIETA DE SOUZA BEZERRA","Endereco":"RUA PAULO VI N,110","Telefone":""},{"Codigo":00149,"Nome":"LUNAYRA MENDES DE SOUZA SILVA","Endereco":"RUA EPITASIO PESSOA N,79","Telefone":"(94)9162-6976\/    "},{"Codigo":00150,"Nome":"FRANCISCO ALVES ....]]};
obrigado
Dorivan Sousa

Dorivan Sousa

Curtidas 0

Respostas

Marco Salles

Marco Salles

03/07/2011

DORIVAN SILVA SOUSA,  Tres detalhes

1) O primeiro é trocar o valor da baseUrl do clientdatasnap.js para o valor

var baseUrl = "http://localhost:8080/dataSnap/rest/TCliente/";

eu defini esta porta para o DataSnap


2)


na época do artigo eu utilizava Internet Explorer na Versão 8.0 . Não usava o Mozila

Hj estou utilizando o o Mozila mas não consegui carregar .. Não dá erro , não da nada

Porém com o IE8 NA época não tive problema nenhum o  jQuery 1.4.2 para o IE9 precisa se modificado

No meu caso , fiz a modificação recomendada e esta funcionado

como vc pode verificar pela figura abaixo




3)

OUTRO DETALHE É QUE O ARTIGO FOI GERADO NO DELPHI2010 . Se for compila-lo no Delphi XE , a classe Proxy gerada se não me engano é legeiramente diferente . Então tem que substitui-la para consumir o Datasnap no Client_Win32

Caso ajude as modificações que eu fiz no Jquery 1.4.2 foram essas

na proximidade da linha 900  substitua

 //    if ( window[ id ] ) {
 //        jQuery.support.scriptEval = true;
 //        delete window[ id ];
//    }

  if (window[id]) {
        jQuery.support.scriptEval = true;
        try { // DBJ fix for IE9
            delete window[id];
        } catch (x) { }
    }

claro que se for o caso , isto so tera efeito se vc tiver feito o download do Jquery 1.4.2 e não acessando
direto ( não sei se esta atualizado ) .
Ai tem que alterar a url no client.Html de
<script src="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.2.js" type="text/javascript"></script>
para
    <script src="script/clientdatasnap.js" type="text/javascript"></script>

Espero que essas informações possam te alguma forma lhe ajudar

GOSTEI 0
Dorivan Sousa

Dorivan Sousa

03/07/2011


  obrigado pela resposta, fiz conforme vc orientou, mas ainda nao consigo comunicar com o servidor pela cliente.html...
no chrome o console de erros exibe:XMLHttpRequest cannot load http://localhost/dataSnap/rest/TCliente/GetCustomersJson. Origin null is not allowed by Access-Control-Allow-Origin.clientdatasnap.js:15Uncaught TypeError: Cannot read property 'result' of null
no mozila:data is null...
acredito q essa mensagem do mozilla diga tudo... nao sei pq mas o jQuery nao carrega os dados, eu atualizei o jQuery pra versao 1.5 e nao apresenta o erro do data is null, no mozila no firebug visualiza q foi carregado o arquivo mas nao exibe, no IE9 nem dar mensagem de erro, no chrome mostra o erro de permissao XMLHttpRequest cannot load http://localhost/dataSnap/rest/TCliente/GetCustomersJson. Origin null is not allowed by Access-Control-Allow-Origin.
GOSTEI 0
Marco Salles

Marco Salles

03/07/2011

Vc consegue acessar ss dados no client Desktop ????

O servidor esta rodando ??
GOSTEI 0
Dorivan Sousa

Dorivan Sousa

03/07/2011

sim acesso pelo client desktop...
como disse q eu chamar a http://localhost/dataSnap/rest/TCliente/GetCustomersJson/ENDERECO
no browser retorna os dados...
GOSTEI 0
POSTAR