不然请求每次都被拦截都不知道哪里的问题
创建于:2026年7月9日
使用 GPT-5.5 Thinking 回答 Chat01
创建于:2026年7月9日
使用 GPT-5.5 Thinking 回答 Chat01
不然请求每次都被拦截都不知道哪里的问题
对,你这个思路是对的:先绕开前端页面,直接在浏览器 / Postman / curl 里访问接口,这样才能判断到底是:
但你截图里这个地址:
texthttp://localhost:8086/applet/getRandom?mobilePhone=15290161737
现在页面是空白,不能直接说明“没问题”。你要重点看浏览器开发者工具里的 Network。
按 F12,点 Network,再刷新这个地址,看这几个地方:
textStatus Code Response Preview Headers
重点判断:
说明后端接口确实被访问到了,但是后端方法可能没有返回内容。
例如 Spring Boot 里如果写成这样:
java@GetMapping("/getRandom") public void getRandom(String mobilePhone) { service.getRandom(mobilePhone); }
浏览器就会空白。
应该返回数据:
java@GetMapping("/getRandom") public Result getRandom(@RequestParam String mobilePhone) { return Result.success(service.getRandom(mobilePhone)); }
或者至少:
javareturn "ok";
那就是被登录、权限、token、拦截器拦了。
这时要去后端拦截器里放行这个接口,例如:
java@Override public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(loginInterceptor) .addPathPatterns("/**") .excludePathPatterns( "/applet/getRandom", "/applet/login", "/applet/register" ); }
如果你用的是 Spring Security,就类似:
java.requestMatchers("/applet/getRandom").permitAll()
如果是 Sa-Token,就要在路由拦截里排除:
javaSaRouter.match("/**") .notMatch("/applet/getRandom") .check(r -> StpUtil.checkLogin());
那就是路径或端口不对。
特别注意:8086 到底是你的 后端端口,还是 前端项目端口?
很多项目是:
text前端:localhost:8086 后端:localhost:8080 / 9999 / 8090
如果 8086 是前端端口,你直接访问:
textlocalhost:8086/applet/getRandom
其实访问的是前端服务器,不是后端接口,所以空白或者 404 都很正常。
你需要确认后端真正端口,比如:
texthttp://localhost:8080/applet/getRandom?mobilePhone=15290161737
说明进到后端了,但是接口内部报错。
这时看控制台后端日志,通常会有具体异常,比如:
textNullPointerException 数据库连接失败 参数缺失 验证码服务异常
你现在最应该做的是:不要只看页面空不空,要看 Network 的 Status 和 Response。
可以临时让接口返回一个固定字符串测试:
java@GetMapping("/applet/getRandom") @ResponseBody public String getRandom(@RequestParam String mobilePhone) { System.out.println("手机号:" + mobilePhone); return "接口访问成功:" + mobilePhone; }
如果浏览器能看到:
text接口访问成功:15290161737
说明接口没问题,问题就在前端请求封装、token 拦截或返回值解析。
如果还是被拦,那就是后端拦截器没有放行 /applet/getRandom。