❤网络跨域报错篇http

❤网络跨域报错篇http

1、常见的网络错误类型

(1)服务端错误:

服务器返回了错误的数据或未正常响应请求。可以通过查看服务端的日志或与后端开发人员进行沟通来解决这个问题。

(2)跨域问题:

浏览器处于安全考虑,禁止跨域的请求。可以使用CORS(跨域资源共享)解决此问题,或在开发环境下使用代理转发进行开发。

Vue在进行网络请求时,默认是不允许跨域的,域是指在Web应用程序中,通过XMLHttpRequest或Fetch等方式请求其他域的资源。如果你的Vue应用和API服务器的域名不一致,就会出现跨域问题,从而导致网络错误。

解决跨域问题有以下几种方法:

在服务器端设置响应头,允许跨域请求。

使用反向代理服务器,将API请求转发到同一域名下,避免跨域问题。

使用JSONP进行跨域请求,JSONP是一种简单的跨域解决方案。

(3)网络连接问题:

网络连接不稳定,导致请求失败。可以尝试刷新页面或者检查网络连接是否正常。

(4)HTTPS问题:

如果项目使用HTTPS协议,而请求的接口不支持HTTPS,就会出现网络错误。可以检查接口是否支持HTTPS,如果不支持,可以尝试将项目改为HTTP或更换接口。

(5)防火墙问题:

防火墙可能会阻止请求,尤其是在企业内网环境中。可以联系系统管理员或网络管理员解决此问题。

(6)代理问题:

如果你的网络需要使用代理才能访问外网,且代理设置不正确,就会导致网络错误。可以检查代理设置是否正确并进行修改。

(7)DNS问题:

DNS(Domain Name System)是将域名转换为IP地址的系统。如果DNS服务器出现故障或配置不正确,就无法正确解析域名,会导致网络错误。

(8)SSL证书问题:

如果Vue应用通过HTTPS协议访问服务器,那么服务器需要提供有效的SSL证书。如果服务器的SSL证书无效或过期,浏览器会提示证书错误,从而导致网络错误

(8)防火墙限制:

防火墙限制:有些网络环境下,通过防火墙或代理服务器等网络设备对网络进行管理和限制。这些设备可能会对某些请求进行阻止或拦截,导致网络错误

Access-Control-Allow-Credentials(请求头)

前后端分离的项目中碰到跨域问题报错:

Access to XMLHttpRequest at 'http://localhost/api/admin/authorizations' from origin 'http://localhost:9528' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Credentials' header in the response is '' which must be 'true' when the request's credentials mode is 'include'. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.

Access-Control-Allow-Credentials 头的作用

这个是服务端下发到客户端的 response 中头部字段,意义是允许客户端携带验证信息,例如 cookie 之类的。这样客户端在发起跨域请求的时候,就可以携带允许的头,还可以携带验证信息的头

由于客户端是请求是 axios,设置了 withCredentials: true,意思是客户端想要携带验证信息头,但是服务端设置是 'supportsCredentials' => false, 表示不允许携带信息头,错误找到了。

客户端和服务端交互的时候使用的是 token,通过 Authorization头发送到服务端,并没有使用到 cookie,所以客户端没有必要设置 withCredentials: true

axios 带cookie 怎么设置跨域

用axios请求node后台,需要带上cookie,已经配置了axios.defaults.withCredentials=true,但是问题是,项目打包成apk后前台的地址是不固定的

后台node配置跨域

js 复制代码
var corsOptions = {
	origin: ['http://localhost:8088', 'http://xxx:8080',"http://xxxx"],
	credentials:true
}

This request has been blocked; the content must be served over HTTPS.

This request has been blocked; the content must be served over HTTPS.

》》此请求已被阻止;内容必须通过HTTPS提供。

解决方式:
http更换为https

相关推荐
寻星探路10 分钟前
【Python 全栈测开之路】Python 基础语法精讲(一):常量、变量与运算符
java·开发语言·c++·python·http·ai·c#
栗子叶20 分钟前
网页接收服务端消息的几种方式
前端·websocket·http·通信
维构lbs智能定位36 分钟前
基于UWB定位技术的工地安全管理系统从技术原理到功能应用详解
网络·安全·工地安全管理系统
Cyber4K1 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
开开心心就好1 小时前
系统管理工具,多功能隐私清理文件粉碎工具
java·网络·windows·r语言·电脑·excel·symfony
逑之2 小时前
C语言笔记15:动态内存管理
c语言·网络·笔记
hui函数2 小时前
如何解决 pip install 网络报错 403 Forbidden(访问被阻止)问题
网络·pip
乾元2 小时前
现场运维机器人的工程化落地——移动探针采集 + AI 诊断,在真实网络中的实现路径
运维·网络·人工智能·架构·机器人·自动化
鲨莎分不晴2 小时前
Docker 网络深度解析:打破容器的“孤岛效应”
网络·docker·容器
liulilittle2 小时前
rinetd 端口转发工具技术原理
linux·服务器·网络·c++·端口·通信·转发