qq_42295928 2022-08-26 10:49 采纳率: 0%
浏览 261
已结题

AndServer跨域问题

我现在在使用Andserver2.1.10,注解@RestController()返回String数据,电脑端浏览器使用XMLHttpRequest获取数据,就一直出现跨域错误,我想请问Andserver该怎么添加跨域的Header,Access-Control-Allow-Origin。
问题相关代码,请勿粘贴截图
Access to XMLHttpRequest at 'http://192.168.1.15:11000/wlogin/' from origin 'http://127.0.0.1:8848' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
我尝试使用Jsonp,但是返回字符串时一直报错。最后我把网页放安卓里,因为不涉及跨域问题可以正常运行。
我想要在Andserver服务端解决跨域问题。

#分割线#

经过QQ群里的指导,终于解决了这个问题,新建一个.java文件,implement HandlerInterceptor,在OnIntercept中加入response.addHeader("Access-Control-Allow-Origin","*");希望能为之后遇到这个问题的提供一点点小帮助。

Interceptor.java
代码如下:
@Interceptor
public class Interceptor implements HandlerInterceptor {
@Override
public boolean onIntercept(@NonNull HttpRequest request, @NonNull HttpResponse response, @NonNull RequestHandler handler) throws Exception {
response.addHeader("Access-Control-Allow-Origin","");//跨域请求,代表所有
//返回值为false时,不会对程序的运行产生任何影响;
//返回值为true时,表示开发者拦截了该请求,该请求将终止继续分发
return false;
}
}

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-08-26 11:06
    关注
    请看👉 :AndServer初探
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月26日
  • 修改了问题 8月26日
  • 创建了问题 8月26日