两种方案,看下你是哪一种
一.没有nginx服务器
如有一个springboot 项目,可以将html文件放在项目里面,通过controller 访问html文件,
由于你的html文件是通过controller得到的,比如你的项目名是 test
你通过
http://localhost:8080/test/html/index 这个链接访问到了index.html,那么你的js中url类似“/test/XXXX”,就不属于跨域了,可以正常请求ajax
二.如果html是通过nginx 服务器访问
比如你通过
http://localhost 就能访问index.html (nginx 配置监听端口80,index 指向index.html)
那么你想让index.html 引用的js中ajax请求的ulr 同样通过“/test/XXX”,能够不跨域访问java服务,只需配置下nginx的代理转发,如下:
location /test {
proxy_pass
http://localhost:8080;}
解释下:location /test 指 nginx 通过80端口监听到以“/test” 开始的url请求,里面的内容是指nginx 将请求转发到
http://localhost:8080,也即请求最终转发到了java 服务端,通过nginx转发同样不需要跨域
补充说明:很多项目前后端分离,都是采用nginx转发的方式,把静态页面部署在nginx服务器下面,通过nginx服务器转发ajax请求到java服务端
关于页面传递参数:请通过session进行