关于vue-resource会触发两次加载的情况
2018-09-05 本文已影响227人
MsgSS
一般来说,我们不希望请求重复提交,但是在vue开发的过程中(vue-resource),发现vue-resource如果使用post方式,而且没有参数的话,请求会重复提交。为了解决这个问题,应该合适的请求用合适的方式,如果没有参数,使用get就可以避免重复提交请求,也可以添加随机参数。
修正:其实不是vue-resource下才有的,对于angular、vue还有react,发现做了http拦截器后,往往都会发两次请求,其实这是正常的。因为拦截器一般都会对修改请求信息,特别是请求头,所以第一的时候其实是发送一个验证的,验证该请求头在不在允许列表中和询问是否跨域,后台业务逻辑代码只被触发一次,同样http响应也只响应一次。
对于post无参数的时候,发现的确是发来两次请求,而且后台也接收到两次请求,有两个响应,那么解决方案是没有参数的时候添加随机参数
{"__random": Math.random().toString()}