SSM之一点一滴:浏览器GET Request Headers 出现Provisional headers are shown警告

具体场景描述:

工具描述:

项目开发使用的是SSM框架,开发工具为eclipse IDE2019-03,测试工具为基础浏览器,如QQ、火狐、谷歌等,创作web系统,在前端使用url传值(类似这种http://****?id=110&name=adminmenu)。传值时出现Provisional headers are shown警告

错误场景

跳转页面链接:http://localhost:8080/SuperCMS/SuperApi/menuinfo?id=110&name=adminmenu,在我的项目逻辑中是需要先执行/SuperCMS/SuperApi/menuinfo方法进行取值,然后将执行/SuperCMS/SuperApi/menuinfodata,

第一次页面跳转,/SuperCMS/SuperApi/menuinfo取值成功,在ecplise中的console如下信息

然后刷新再次点击相同url后,后台的/SuperCMS/SuperApi/menuinfo没有执行,便直接进行/SuperCMS/SuperApi/menuinfodata方法,截图如下

刷新浏览器,清除缓存都是在点击几次后url传值便无法执行/SuperCMS/SuperApi/menuinfo方法!

在java后台的/SuperCMS/SuperApi/menuinfo方法如下

//java 后台通过url进行传值的基本内容
@RequestMapping(value="/menuinfo")
public String menuinfo(@RequestParam(defaultValue="") Integer id,
			@RequestParam(defaultValue="") String name) 
{
		System.out.println("这是跳转到更改的页面,使用的是'/SuperCMS/PowerCon/powerinfo?id=100?name=menu'-------"+id+"-------"+name);
		
	
}

错误原因

经过几番查找,在前端的Network中找到原因,在后台成功执行/SuperCMS/SuperApi/menuinfo方法接收到值的network都长这样

Request Headers没有错误信息

前台点击后后台没有执行/SuperCMS/SuperApi/menuinfo方法的network如下

发现在前端的status Code =200,请求应该是正常的,但是后台的/SuperCMS/SuperApi/menuinfo方法没有执行,查看我的/SuperCMS/SuperApi/menuinfo方法,应该不存在返回没有结束的问题,那就是可以理解为多次Request 导致浏览器拥堵!url传值时没有进行传递!找到错误原因!!!!

然后就百度了以下这种情况,发现做web项目的同学遇到这种情况的还很多,错误原因都一样

是因为浏览器第一次发送这个请求,请求被阻塞,未收到响应。当要求浏览器再次发送这个请求时,上个同样的请求都还没有收到响应,浏览器就会报这个警告

解决方案

我的解决方案就是在url后面加上一个挡墙时间戳,让浏览器无法感知到这是上次的那个请求

具体就是直接将http://localhost:8080/SuperCMS/SuperApi/menuinfo?id=**&name=**

改为

http://localhost:8080/SuperCMS/SuperApi/menuinfo?id=110&name=adminmenu&timestamp=(new Date()).getTime()

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值