所谓的跨域客户端,当您访问自己和域名不同的服务器端时,就会发生跨域。
例如:
在node开始了http://localhost:8080的服务;
在中,在此服务下访问的网页默认位于名为http://localhost:8080的域下
假设服务器端的域是http://example.com
像这样用ajax发送请求的话;
直接从客户端传递的是域名http://localhost:8080的请求
服务器的域是http://example.com
域名不同,跨域请求失败;
可以从客户端和服务器进行域间解析。
本节介绍如何在umi中使用proxy代理处理跨域。
代理解决域之间的原理使用代理解决域之间的原理是在客户端和服务器端之间添加中间层。
该中间层的作用是将不同的域名转换为相同的域名
客户端发送请求。 在此,首先经过中间层的处理,将域名http://localhost:8080转换为http://example.com。
转换域名,然后向服务器发送请求
服务器收到的请求的域名为http://example.com
类似地,当服务器将响应发送回客户端时,响应也经过中间层处理,将响应的域名http://example.com转换为:8080
这样,客户端接收到的响应的域名也将与自己的域名相同。
umi使用proxy代理解析跨域,并将其设置为config.js配置文件
proxy: { '/ci': { //标识需要转换的请求的URL ' target ' : ' http://example.com ',//服务器端域名' change origin ' //允许域名转换' path rewrite ' : { ' ^/ci ' : ' }//从请求url中删除ci在发送请求时,将请求的url发送到http://localhost 33600
如果有问题的话请多多关照。