Access to XMLHttpRequest at 'http://localhost:8001/knowledgeGraph/personRelation/findAdjacentRelationAndNodeByName/' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested r
时间: 2023-06-16 12:05:47 浏览: 217
这个问题是由于浏览器的同源策略所导致的,浏览器会限制来自不同源的请求,以保护用户的安全和隐私。要解决这个问题,你需要在服务器端设置正确的 CORS 响应头,允许来自不同源的请求。在服务器端设置响应头的方法,具体取决于你使用的是什么编程语言和框架。
如果你使用的是 Java 和 Spring 框架,可以在控制器中添加 @CrossOrigin 注解来允许跨域请求,例如:
```
@RestController
@CrossOrigin(origins = "http://localhost:8080")
public class MyController {
// ...
}
```
如果你使用的是 Node.js 和 Express 框架,可以使用 cors 中间件来允许跨域请求,例如:
```
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors({
origin: 'http://localhost:8080'
}));
// ...
```
需要注意的是,不要开放过多的权限,只允许必要的来源进行跨域请求。
相关问题
Access to XMLHttpRequest at 'http://localhost:88/api/sys/menu/nav?t-1685520551741' from origin 'http://localhost:8001' has been blocked by CORS policy: The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:8001, http://localhost:8001', but only one is allowed.
这是一个跨域资源共享(CORS)的错误,表明你正在尝试从一个不同于当前页面域的地方请求资源。在这种情况下,你正在从 localhost:8001 发出请求,但是服务器没有设置允许从该源访问资源的 CORS 头部。此外,错误消息还表明服务器返回了多个允许访问的源,而这是不允许的。
要解决这个问题,你需要在服务器上配置 CORS 头部,以允许你的应用程序从 localhost:8001 发出请求。你可以使用 Access-Control-Allow-Origin 头部来指定允许访问的源,例如:
Access-Control-Allow-Origin: http://localhost:8001
确保服务器只返回一个允许访问的源,而不是多个。这样应该可以解决你遇到的问题。
还有其他方法,都报错Access to XMLHttpRequest at 'http://localhost:8080/adminLogin' from origin 'http://localhost:8081' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. xhr.js:251 POST http://localhost:8080/adminLogin net::ERR_FAILED 500
这个错误提示属于跨域资源共享(CORS)问题。CORS 是一种机制,它使用额外的 HTTP 头来告诉浏览器,哪些源(网站)具有运行访问的权限。错误提示中显示,你的请求源来自 `http://localhost:8081`,但是服务器返回的响应头中没有包含 `Access-Control-Allow-Origin` 属性,导致浏览器拒绝了响应。
解决这个问题的方法有多种。其中一种方法是,在服务器端设置响应头,允许来自特定源的请求。你可以在服务器端的响应头中添加以下代码:
```
Access-Control-Allow-Origin: http://localhost:8081
```
这个代码表示允许来自 `http://localhost:8081` 的请求。如果你想允许来自所有源的请求,可以把这个值设置为 `*`。
如果你使用的是 Express 框架,可以使用 `cors` 中间件来简化设置。你可以通过以下代码安装 `cors` 中间件:
```
npm install cors --save
```
然后在服务器端代码中添加以下代码:
```javascript
const express = require('express')
const cors = require('cors')
const app = express()
app.use(cors({
origin: 'http://localhost:8081'
}))
// 其他代码
```
这样,就能够允许来自 `http://localhost:8081` 的请求了。
阅读全文