ajax请求成功后location.href没有跳转
2017-12-07 17:56
330 查看
错误原因:
注意起来一个情况:ajax+submit+同步—-就是你用ajax请求服务器,而且用的是同步的方式,并且你是通过点击了type类型为submit的按钮来触发这个ajax。这个时候,首先你点击了submit,它会提交表单,但是由于你用了ajax的同步操作,submit的提交被阻塞,ajax先执行,这个时候,如果你在ajax的回调函数(如:success)中写了document.location.href=’xxx.html’,它是执行了,的确是去执行了跳转的,于是ajax完成了,那接下来就要把刚才的submit提交的请求完成。于是呢又要从xxx.html跳回到刚才那个页面(无论你submit有没有提交具体的数据,总之提交了之后如果后台没有执行跳转/重定向,它就要回到原来的页面。)
即:ajax就是如你所想那样执行了,也从A页面跳到了B页面,但是由于submit这种类型的特殊性,又让B页面跳回了A页面,由于这个ajax执行完再执行submit请求的过程处理的很快,你会感到好像没有效果,但是你仔细观察,会发现这个过程页面会刷新的,其实就是B页面跳回到A页面。
解决方案:
解决方法1: 加上这一行return false;
解决方法2: 页面的submit改成button
相关文章推荐
- 关于ajax中执行 window.location.href不跳转问题
- 使用ajax发送post请求后调用servlet成功前台没有调用success
- 当登陆成功以后,本浏览器将在3秒后跳转到登陆页面,如果没有跳转,请点击<a href=''>超链接</a>
- web 开发,个人中心每个请求,判断用户是否登录,若没有登录,则跳转到登录页面,登录成功后返回之前页面
- IE6中请求莫名中断(条件:a标签,click事件中有ajax请求,a标签中有href且是JavaScript:void(0);或JavaScript:;等阻断跳转代码)
- 小白使用React---ajax请求成功后跳转到另一个页面
- window.location.href跳转无效 IE Bug
- window.location.href 在傲游兼容模式和IE下不跳转的解决办法(同事分享的)
- IE浏览器执行 window.location.href 跳转失败的解决办法
- window.location.href/replace/reload()--页面跳转+替换+刷新
- JS中设置window.location.href跳转无效
- window.location.href的用法(动态输出跳转)
- ajax 动态为<a> href 赋值,总是不执行跳转的原因
- Jquer Ajax xmlhttp请求成功了,为什么一直在error函数里面
- Ajax请求成功后打开新窗口地址
- ie下对于window.location.href的跳转时获取不到referer的,php中的路径包含有未定式的
- 用self.location.href不能实现网页跳转的问题
- window.location.href 框架子页面的引导--框架页顶层窗口跳转
- 使用location.href跳转页面在火狐浏览器中报错404
- Iframe内部调用外部的location.href跳转出现奇怪问题