Access to XMLHttpRequest at 'http://localhost:8100/thirdplatform/getMprogramTemplateList' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2023-07-24 22:16:34 浏览: 172
这个错误提示是由浏览器的跨域安全策略(CORS)引起的。浏览器在向不同域的服务器发送请求时,为了保护用户的隐私和安全,会限制跨域请求。在这个错误中,浏览器向 `http://localhost:8100` 发送了一个跨域请求,但服务器没有返回 `Access-Control-Allow-Origin` 头,导致浏览器不允许这个请求。
你可以尝试在服务器端添加 `Access-Control-Allow-Origin` 头,允许来自 `http://localhost:8080` 的跨域请求。例如,在 Node.js 中,可以使用 `cors` 模块来实现:
```javascript
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors({ origin: 'http://localhost:8080' }));
// 处理请求的代码
app.get('/thirdplatform/getMprogramTemplateList', (req, res) => {
// 处理请求的代码
});
app.listen(8100, () => {
console.log('Server running on http://localhost:8100');
});
```
这样就可以允许来自 `http://localhost:8080` 的跨域请求了。
相关问题
还有其他方法,都报错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` 的请求了。
:8080/#/axios:1 Access to XMLHttpRequest at 'http://localhost:8888/addStu' from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这个错误提示是因为浏览器的同源策略(Same Origin Policy)限制了不同源(协议、域名、端口号不同)之间的交互访问。在这种情况下,你的前端应用程序(运行在 localhost:8080 上)试图向另一个服务器(运行在 localhost:8888 上)发起请求,但是服务器没有设置正确的 CORS 响应头,导致浏览器拦截了这个请求。
要解决这个问题,你可以在服务器端设置 CORS 响应头,允许来自特定源的请求。例如,在 Node.js 中,你可以使用 `cors` 中间件来实现:
```javascript
const express = require('express')
const cors = require('cors')
const app = express()
// 允许来自 localhost:8080 的请求
app.use(cors({
origin: 'http://localhost:8080'
}))
// 处理 /addStu 请求
app.post('/addStu', (req, res) => {
// ...
})
app.listen(8888, () => {
console.log('Server listening on port 8888')
})
```
这样设置之后,浏览器就会允许来自 localhost:8080 的请求访问服务器端的接口了。
阅读全文
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)