在本地用ajax跨域访问请求时报错:
XMLHttpRequest cannot loadhttp://xxx/. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.
今天有个同事叫我帮他解决一个bug,上面的红字就是浏览器的报错内容。
原来他的java后台项目和前端html分开了,没有放到一起,后台用myeclipse写的,放在本地电脑的tomcat上,前端html代码文件放在另一个地方,然后通过浏览器打开去访问本地tomcat的项目里的后台接口,然后就报上面的错了。
其实这是浏览器出于安全考虑限制了跨域访问,所以有两个选择,要么把ajax请求(也就是前端js代码)写到项目里就可以访问了,要么把跨域解决掉。要解决跨域访问的话我这里提供一个方法。
解决了跨域ajax在任何地方就都可以访问后台接口了,不管是在同一台电脑还是不在同一台电脑都可以访问。
废话不多说,解决方法如下:
第一步:
新建一个Filter类:
Filter是一个过滤器。对你设定的请求地址进行拦截,然后设置。
package com.jgonet.filter;
import j

在解决浏览器跨域访问限制时,通过在Java后台创建Filter类并配置web.xml,允许跨域请求。这样,无论前端代码位于何处,都能成功访问后台接口。步骤包括创建Filter,配置web.xml,以及进行Ajax测试。这使得前端可以无视同源策略,从不同位置访问后台服务。
最低0.47元/天 解锁文章
847

被折叠的 条评论
为什么被折叠?



