一尘不染

同一域上的CORS错误?

javascript

我现在遇到一个奇怪的CORS问题。

这是错误消息:

XMLHttpRequest cannot load http://localhost:8666/routeREST/select?q=[...] 
Origin http://localhost:8080 is not allowed by Access-Control-Allow-Origin

两台服务器:

  • localhost:8666 / routeREST /:这是一个简单的Python Bottle服务器。
  • localhost:8080 /:运行我的Javascript应用程序的PythonsimpleHTTPserver。这个应用程式正在上方的伺服器执行Ajax要求。

有什么问题的想法吗?


阅读 263

收藏
2020-05-01

共1个答案

一尘不染

仅当 协议,主机 端口_相同时,才被认为是相同的:相同的源策略

如果要启用它,则必须通过添加标头来遵循跨域资源共享(cors)。

您需要在响应中添加Access-Control-Allow-Origin作为标头。为了允许所有人(您可能 应该这样做):

Access-Control-Allow-Origin: *

如果您需要支持多个来源(例如example.comwww.example.com),请Access-Control-Allow-Origin在回复中将设置Origin为请求中-header 的值(在确认来源已列入白名单之后)。

另请注意,某些请求会发送带有OPTION方法的预检请求,因此,如果您编写自己的代码,则也必须处理这些请求。

2020-05-01