Estou tendo um problema de CORS estranho agora.
Esta é a mensagem de erro:
XMLHttpRequest cannot load http://localhost:8666/routeREST/select?q=[...]
Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin
Dois servidores:
- localhost: 8666 / routeREST /: este é um servidor Python Bottle simples.
- localhost: 8080 /: Python simpleHTTPserver onde executo um aplicativo Javascript. Este aplicativo está executando solicitações Ajax no servidor acima.
Alguma ideia sobre qual poderia ser o problema?
EDITAR:
E ... o porto era o problema. Obrigado por suas respostas :)
Se alguém também estiver usando um servidor de garrafa Python, você pode seguir a resposta dada neste post para resolver o problema do CORS: Bottle Py: Habilitando CORS para solicitações jQuery AJAX
javascript
python
ajax
cross-domain
cors
Mr_Pouet
fonte
fonte
Respostas:
Só é considerado o mesmo se o protocolo , host e porta forem os mesmos: Política da Mesma Origem
Se você deseja habilitá-lo, siga o Compartilhamento de recursos de origem cruzada (cors) adicionando cabeçalhos. Mozilla tem exemplos
Você precisa adicionar Access-Control-Allow-Origin como um cabeçalho em sua resposta. Para permitir a todos (você provavelmente NÃO deve fazer isso):
Access-Control-Allow-Origin: *
Se você precisar oferecer suporte a origens múltiplas (por exemplo
example.com
ewww.example.com
), definaAccess-Control-Allow-Origin
em sua resposta o valor doOrigin
-header da solicitação (depois de verificar se a origem está na lista branca).Observe também que algumas solicitações enviam uma solicitação de comprovação, com um método OPTION, portanto, se você escrever seu próprio código, deverá lidar com essas solicitações também. Veja Mozilla para exemplos .
fonte
'Access-Control-Allow-Origin: https://example.com'
é equivalente a . Se o seu site for acessível por meio de ambos, você deve ter os dois em seus cabeçalhos de resposta.'Access-Control-Allow-Origin: https://www.example.com'
GET
,POST
eHEAD
. Consulte o artigo MDN com link na resposta para obter detalhes adicionais.Os números das portas são diferentes.
Uma solicitação é considerada entre domínios se algum esquema, nome do host ou porta não corresponder.
fonte