O ajax não funciona no local host

716 views
Skip to first unread message

David Costa

unread,
Sep 11, 2012, 4:52:26 PM9/11/12
to php-my...@googlegroups.com
Estou tentando acessar um dado no servidor mais não estou conseguindo. da dando o erro:  

XMLHttpRequest cannot load http://www.csthost.com.br/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

até ai eu não sei mais como resolver, alguem tem alguma ideia de como resolver isso?

Marcos Barbosa

unread,
Sep 11, 2012, 11:02:35 PM9/11/12
to php-my...@googlegroups.com
A princípio não te falar porque não é possível carregar o endereço.

Sugiro usar jQuery, pois a criação do HttpRequest é diferente para IE e outro tipo de browser(pelo menos em versões anteriores era), porque não precisará se preocupar com esses detalhes.

para um requisição post
$.post('URL', DADOS, função, TIPO_RETONOR);

onde: url é o endereço que está chamando, no seu caso, http://www.csthost.com.br,
dados são os parâmetos, que são passados no formato: {'chave1':'valor1','chave2':'valor2'}
e tipo retorno, se é html, json etc. Normalmente uso html

Não sei se já usou jQuery. Se for usar e tiver dúvida posta ai.
Só uma observação. O fato de está usando ajax não importa se é local, só tome o cuidado de verificar a conexão, pois obviamente se está chamando uma página externa a conexão com  internet deve estar ativa.

Espero ter ajudado.




2012/9/11 David Costa <davidco...@gmail.com>
Estou tentando acessar um dado no servidor mais não estou conseguindo. da dando o erro:  

XMLHttpRequest cannot load http://www.csthost.com.br/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

até ai eu não sei mais como resolver, alguem tem alguma ideia de como resolver isso?

--
Você está recebendo esta mensagem porque se inscreveu no grupo "PHP-MYSQL-BR" dos Grupos do Google.
Para ver esta discussão na web, acesse https://groups.google.com/d/msg/php-mysql-br/-/TkXQuWiimhMJ.
Para postar neste grupo, envie um e-mail para php-my...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-mysql-br...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-mysql-br?hl=pt-BR.



--
Marcos Barbosa
(31) 8279-8118
barbo...@gmail.com

Marcos Barbosa

unread,
Sep 11, 2012, 11:07:44 PM9/11/12
to php-my...@googlegroups.com
Esqueci de mandar o link da api

http://api.jquery.com/jQuery.post/

tem outras opções de sintaxe:

http://api.jquery.com/category/ajax/


2012/9/11 David Costa <davidco...@gmail.com>
Estou tentando acessar um dado no servidor mais não estou conseguindo. da dando o erro:  

XMLHttpRequest cannot load http://www.csthost.com.br/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.

até ai eu não sei mais como resolver, alguem tem alguma ideia de como resolver isso?

--
Você está recebendo esta mensagem porque se inscreveu no grupo "PHP-MYSQL-BR" dos Grupos do Google.
Para ver esta discussão na web, acesse https://groups.google.com/d/msg/php-mysql-br/-/TkXQuWiimhMJ.
Para postar neste grupo, envie um e-mail para php-my...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para php-mysql-br...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/php-mysql-br?hl=pt-BR.

Spiderpoison

unread,
Sep 12, 2012, 7:15:05 AM9/12/12
to php-my...@googlegroups.com
Algum recurso de segurança no servidor ou firewall onde você está buscando as informações ( http://www.csthost.com.br/ ) está negando o compartilhamento de informações através de ajax, socket, frames e qualquer coisa do tipo.
Pode ser o browser ou um antivírus que também bloqueie a busca de informações ocultas em outros sites.
Um teste para saber se é isso é tentar fazer um frame ou carregar um .js ou .ccs do dominio http://www.csthost.com.br.

Você deve descobrir onde está o bloqueio e remover.

abraços
Spiderpoison
http://www.elinda.com.br

Bruno Monteiro

unread,
Sep 12, 2012, 8:42:03 AM9/12/12
to php-my...@googlegroups.com
Isso é "Same Origin Policy" (Política de Mesma Origem). Os navegadores
só permitem o compartilhamento de recursos entre páginas se elas
tiverem exatamente o mesmo protocolo, o mesmo domínio e a mesma porta.
Se forem diferentes, no caso é outro domínio, o código Javascript da
página original não pode ler propriedades da outra, não pode acessar
elementos do DOM, nem fazer requisições Ajax para ela.
Isso pode ser resolvido retornando os dados em formato JSONp e
inserindo na página que fez a requisição, mais ou menos assim:

var url='http://www.url.com/retorno.json'
s=document.createElement('script')
s.setAttribute('src',url)
document.getElementsByTagName('head')[0].appendChild(s)
/* Agora você tem acesso aos dados que foram retornados como javascript */

OU você pode usar o CORS, que é uma troca de cabeçalhos entre o
navegador e o servidor, usando o método HTTP OPTIONS, antes da
requisição real com GET ou POST. Nessa requisição OPTIONS o navegador
envia um header "Origin" e espera por um header
"Access-Control-Allow-Origin" com o mesmo valor ou com o valor "*". Se
o header "Access-Control-Allow-Origin" contiver um dos valores
esperados o navegador em seguida faz a requisição GET ou POST. Pra
utilizar, é só colocar no seu arquivo que recebe a requisição (no
csthost.com):

<?php
header('Access-Control-Allow-Origin: *');
?>

Ou

<?php
header('Access-Control-Allow-Origin: http://localhost/');
?>

E fazer a requisição normal.

Att,

Fonte: JS Avançado - Elcio Ferreira
> --
> Você está recebendo esta mensagem porque se inscreveu no grupo
> "PHP-MYSQL-BR" dos Grupos do Google.
> Para ver esta discussão na web, acesse
> https://groups.google.com/d/msg/php-mysql-br/-/wvaoDKZIWj0J.
>
> Para postar neste grupo, envie um e-mail para php-my...@googlegroups.com.
> Para cancelar a inscrição nesse grupo, envie um e-mail para
> php-mysql-br...@googlegroups.com.
> Para obter mais opções, visite esse grupo em
> http://groups.google.com/group/php-mysql-br?hl=pt-BR.



--
Bruno Monteiro
br...@trupe.net
Trupe - Agência Criativa
Aclimação – São Paulo – SP – Brasil
(11) 2861.1590
Reply all
Reply to author
Forward
0 new messages