跨域报错

在这里插入图片描述
今天进行前端向后端发送数据的时候打开控制台发现报错,遇见跨域的问题。
已拦截跨源请求:同源策略禁止读取位于 http://localhost:8080/users/ifUsersAdmin?LoginName=admin&password=lsp000 的远程资源。(原因:CORS 请求未能成功)。
最后在控制层添加了一个注解。错误就圆满的解决了

其中@CrossOrigin中的2个参数:
origins : 允许可访问的域列表
maxAge:准备响应前的缓存持续的最大时间(以秒为单位)。

Uniapp中使用uni.uploadFile进行文件上传时,如果涉及跨域请求,可能会出现跨域报错。解决跨域问题的方法有以下几种: 1. 在服务器端设置允许跨域访问:在服务器端的响应头中添加Access-Control-Allow-Origin字段,允许指定的域名或通配符(*)进行跨域访问。 例如,在Node.js的Express框架中,可以使用cors库来设置允许跨域访问: ```javascript const express = require('express'); const cors = require('cors'); const app = express(); app.use(cors()); // 处理文件上传的路由 app.post('/upload', (req, res) => { // 处理文件上传的逻辑 }); // 启动服务器 app.listen(3000, () => { console.log('服务器已启动'); }); ``` 2. 使用代理服务器:在uniapp的`config.js`配置文件中,可以配置一个代理服务器,将跨域请求转发到服务器端,从而避免跨域问题。 在`config.js`文件中添加以下代码: ```javascript module.exports = { devServer: { proxy: { '/api': { target: 'http://example.com', // 实际请求的接口地址 changeOrigin: true, pathRewrite: { '^/api': '' // 如果请求的接口路径有前缀,需要将其替换为空字符串 } } } } } ``` 然后,在uniapp中使用`uni.uploadFile`时,将请求的地址设置为`/api/upload`,例如: ```javascript uni.uploadFile({ url: '/api/upload', // 其他参数... }); ``` 这样,uniapp会将`/api/upload`的请求转发到`http://example.com/upload`。 3. 使用JSONP请求:如果服务器端支持JSONP跨域请求,可以将文件上传接口改为支持JSONP,并在uniapp中使用uni.request进行请求。 在服务器端将文件上传接口改为支持JSONP: ```javascript app.get('/upload', (req, res) => { const callback = req.query.callback; const result = { code: 0, message: '上传成功' }; const jsonpResult = `${callback}(${JSON.stringify(result)})`; res.send(jsonpResult); }); ``` 然后,在uniapp中使用uni.request进行请求: ```javascript uni.request({ url: 'http://example.com/upload', method: 'GET', dataType: 'jsonp', success(res) { console.log('文件上传成功', res.data); }, fail(err) { console.error('文件上传失败', err); } }); ``` 以上是解决Uniapp中使用uni.uploadFile跨域报错的几种方法,根据你的实际情况选择合适的方法进行处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值