在AJAX中使用window.location.replace'成功'回调
Is it bad practice to use window.location.replace from within AJAX 'success' callback?
在jQuery AJAX请求中执行重定向是不是一种糟糕的做法?
$.ajax({
url: "myurl",
success : function(response) {
window.location.replace('MYNEWPAGE');
},
error: function (xhr) {
}
我在一个应用程序中遇到了一些奇怪的行为,我认为这就是问题所在。
location.replace()
不会将当前页面存储到浏览器历史记录中,用户不能使用后退按钮返回页面。您应该使用location.assign(URL)
或location.href = URL
。
应该只使用window.location.href = "whatever"
来更改url。请注意,这将导致您回发整个页面,奇怪的行为可能来自于新页面上的加载事件意外触发,包括其他可能设置window.location.href的ajax事件-理论上,您可能会因为继续将您发送到新页面而陷入僵局(小心)。
相关文章:
- 成功回调永远不会被JSONP请求调用
- 查询后websql成功回调无法访问变量
- 在$q服务中捕获拒绝而不触发成功回调
- 如何从ajax成功回调函数中读取javascript变量
- AJAX成功回调-执行javascript时出现问题
- 当使用命名函数作为jquery ajax成功回调时,我需要括号吗
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- Yii ajaxbutton : 如何在成功回调函数中获取 $(this)
- 角承诺的“then”函数的成功回调的词汇范围是什么?
- 承诺中的成功回调不会发生$http
- Ajax成功回调仅适用于Chrome
- 将类方法绑定到类外绑定的事件处理程序内的AJAX成功回调
- 成功回调中的外部变量未正确更新
- 为什么jQuery成功回调有时有3个参数,有时只有1个
- 当通过Ajax成功回调更新可观察数组时,启用绑定中断
- 构建Ajax调用数组时,JQueryAjax成功回调不起作用
- JQuery AJAX没有't获得成功回调功能
- 如何访问作为参数发送到jquerypost的成功回调中的数据值
- 成功回调不是一个函数
- AngularJS$http.获取当时和成功回调之间的区别