5 评论

0 收藏

分享

[已解决] uniapp 无法访问公司搭建的demo服务

uniapp 无法访问公司搭建的demo服务 ,服务地址是
export const baseUrl='http://qingtinghrtest.youyacao.com'


登录除外的
https://qingtinghrtest.youyacao.com/api/dongtai/catelst?token=
访问正常



登录访问报以下错误
Access to XMLHttpRequest at 'http://qingtinghrtest.youyacao.com/api/user/login?token=' from origin 'http://localhost:5173' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

回复

举报 使用道具

全部回复 (5)
查看全部
1,请问是否在本地运行的?
2,请问是否修改了 请求地址?
3,请问是以什么方式运行的? 模拟器? h5?

请提交问题的时候配上 完整截图 以方便精准定位 问题

优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

举报 回复 使用道具

其次如果是常规跨域问题可以按以下解决:

这个错误是由于 CORS(跨域资源共享) 问题导致的。你的前端运行在 http://localhost:5173,而请求的 API 地址是 http://qingtinghrtest.youyacao.com,由于 协议(http/https)、域名、端口 不同,浏览器会阻止跨域请求。
解决方案1. 后端配置 CORS(推荐)
让后端在响应头中添加 Access-Control-Allow-Origin 以允许跨域访问:
Access-Control-Allow-Origin: *  # 允许所有域名Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONSAccess-Control-Allow-Headers: Content-Type, Authorization, Token
如果后端是 Nginx,可以这样配置:
location /api/ {    add_header 'Access-Control-Allow-Origin' '*';    add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';    add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization,Token';    if ($request_method = 'OPTIONS') {        return 204;    }}2. 前端代理(开发环境适用)
如果你使用的是 Vite(如 uniapp + vite),可以在 vite.config.js 里配置代理:
export default defineConfig({  server: {    proxy: {      '/api': {        target: 'http://qingtinghrtest.youyacao.com',        changeOrigin: true,        rewrite: (path) => path.replace(/^\/api/, ''),      },    },  },});
然后前端请求改为:
axios.post('/api/user/login', data);
这样请求会被代理到目标服务器,避免跨域问题。
3. 使用 JSONP(仅适用于 GET 请求)
如果后端支持 JSONP,可以这样请求:
uni.request({  url: 'http://qingtinghrtest.youyacao.com/api/user/login',  dataType: 'jsonp',  success(res) {    console.log(res);  }});
JSONP 只适用于 GET 请求,且需要后端支持。
4. 关闭浏览器安全策略(仅临时测试)
如果是本地开发,可以临时关闭浏览器安全策略:
  • Chrome
chrome.exe --disable-web-security --user-data-dir="C:/TempChrome"
  • Edge
msedge.exe --disable-web-security --user-data-dir="C:/TempEdge"
⚠️ 注意: 这种方式仅用于本地测试,不要在生产环境使用!
5. 检查 HTTPS 问题
你的 API 地址是 http://,但浏览器可能会因为 混合内容(Mixed Content) 阻止请求。可以尝试:

总结
方案
适用场景
备注
后端配置 CORS
生产环境推荐
需要后端支持
前端代理(Vite)
开发环境推荐
仅本地有效
JSONP
仅 GET 请求
不推荐
关闭浏览器安全策略
临时测试
不安全
HTTPS 升级
生产环境推荐
避免 Mixed Content
建议:
  • 开发环境 → 使用 Vite 代理
  • 生产环境 → 让 后端配置 CORS升级 HTTPS
如果还是不行,可以检查:
  • 后端是否有 Token 验证 导致请求失败。
  • 请求的 Content-Type 是否正确(如 application/json)。
  • 是否有 重定向问题(如 HTTP → HTTPS 跳转导致 CORS 失败)。



优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

举报 回复 使用道具

另外我们发现个核心问题奥,我们demo这个地址是https的不是http

优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

举报 回复 使用道具

使用的是hbuilder的内置浏览器,然后访问地址已经修改为export const baseUrl='https://qingtinghrtest.youyacao.com'

测试提示密码错误,我使用的是会员管理的的账号 17323086150 ,密码我自己修改成了 123456,但是提示密码错误,是不是不允许修改这些会员密码,默认密码多少。

优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

举报 回复 使用道具

引用 @evan7401 发表于 2025-7-18 18:54
使用的是hbuilder的内置浏览器,然后访问地址已经修改为export const baseUrl='https://qingtinghrtest.you ...

系统没有设置默认密码,可以通过后台修改管理员账户密码的。

优雅草论坛2022年8月11日大改,优雅草论坛变回只服务于客户的提问交流论坛,详情查看优雅草8月11日大改,原因详情查优雅草外卖乐关闭

举报 回复 使用道具

evan7401
蜻蜓系列VIP客户
主题 1
回复 2
粉丝 0