problemas com caminho de requisições jQuery.post

361 views
Skip to first unread message

Lucas Carvalho

unread,
Sep 23, 2013, 11:21:58 AM9/23/13
to jque...@googlegroups.com
tenho uma aplicação que manda suas requisições para um arquivo chamado ajax.php que faz o processamento de todas requisições, só que o problema é na hora de colocar o caminho! coloquei o caminho absoluto e teu certo no meu PC , mas em uns PC dos meus amigos deu o seguinte erro :

XMLHttpRequest cannot load http://endereco/ajax.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://endereco' is therefore not allowed access.

acho que está acontecendo um erro de caminho pq estou usando .htaccess para da include dos modulos na index, ae quando tem uma barra / no final ler com fosse dois diretorio.
exemplo :
para site.com.br/modulos - eu coloco na url do post.jQuery modulo/ajax.php
mas quando tem um barra
para site.com.br/modulos/?v=1 - tenho que colocar na url do post.jQuery ../modulo/ajax.php

alguem sabe com resolver esse problema ??

Tiago Celestino

unread,
Sep 23, 2013, 1:07:06 PM9/23/13
to jque...@googlegroups.com
Na verdade, isso é um configuração de segurança do Chrome. Pode procurar na internet a forma de configurar para o Chrome aceitar qualquer requisição ajax local ou pode subir um servidor local (Apache etc...) e assim vai funcionar.
--
--
Grupo de jQuery Brasil.
 
REGRAS: https://docs.google.com/document/d/1VfvTDmeHTSj-L5ouZJjQQ4OkjTCU1Hr2XtPYBNGVHH4/edit
 
USE O JSBIN.COM / JSFIDDLE.NET PARA CÓDIGOS.
 
Email: jque...@googlegroups.com
Biba: jquery-br+...@googlegroups.com
Site: http://groups.google.com/group/jquery-br?hl=pt-BR
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "jQuery (Brasil)" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para jquery-br+...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Lincoln Brito

unread,
Sep 23, 2013, 9:38:08 PM9/23/13
to jque...@googlegroups.com
Isso é porque você tá fazendo uma requisição para outro domínio a partir de uma origem que não é permitida por isso o Access-Control-Allow-Origin deve estar no cabeçalho de resposta. Procure utilizar JSONP ou no domínio que você está requisitando utilize CORS. Tive o mesmo problema em uma aplicação que criei, ela tinha uma API básica que era acessada de outros hosts.

    header('Access-Control-Allow-Origin: *'); //permitir requisição de qualquer host
    header("Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE");
    header('Access-Control-Allow-Credentials: true');
    header("Access-Control-Max-Age: 1000");
    header("Access-Control-Allow-Headers: origin, x-requested-with, content-type");

Links que me ajudaram:
http://remysharp.com/2013/01/14/cors-isnt-just-for-xhr/
http://www.html5rocks.com/en/tutorials/cors/

Neto Neto

unread,
Sep 24, 2013, 7:57:19 AM9/24/13
to jque...@googlegroups.com
Em outras palavras, não é possível (por padrão) fazer um request entre domínios diferentes. Seu site estar em um domínio e fazer uma chamada para outro domínio.

Pesquise por JSONP para contornar isso.
Ou, pode fazer uma chamada ajax para seu server, e seu server fazer uma chamada via CURL, WGET, file_get_contents, etc. para outro servidor e em seguida, devolver para seu front. Essa manobra é mais demorada e custosa, mas é mais fácil que o JSONP, que ao meu ver, é mais elegante.

Neto - Web developer
+55 81-9916.1778


2013/9/23 Tiago Celestino <tcele...@gmail.com>

Lincoln Brito

unread,
Sep 26, 2013, 9:45:46 AM9/26/13
to jque...@googlegroups.com
Conseguiu resolver? Posta aí a solução


Em segunda-feira, 23 de setembro de 2013 12h21min58s UTC-3, Lucas Carvalho escreveu:

Rafael Guerra

unread,
Jun 29, 2016, 8:26:20 AM6/29/16
to jQuery (Brasil)
Alguem resolveu?

Ruan Carlos

unread,
Jun 29, 2016, 8:29:43 AM6/29/16
to jQuery (Brasil)
Rafael, esse problema vc resolve adicionando o HEADER  Access-Control-Allow-Origin  no servidor. Coloca ele com valor * que qualquer pessoa de qualquer site vai conseguir fazer um ajax para o seu servidor.




--
Você recebeu essa mensagem porque está inscrito no grupo "jQuery (Brasil)" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para jquery-br+...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages