在 rails 中的 AJAX 请求后重定向到 html 响应
Redirecting to html response after AJAX request in rails
除了重定向到首页外,代码似乎可以正常工作 URL.How 我可以让 ajax 重定向到首页 URL。
JS函数
func1: function(dest_board, copy_option, member_option){
$.ajax({
url: "get_values",
type: "POST",
data: {new_board: dest_board, copy_option: copy_option, member_option: member_option}
}).success($.proxy(function(data, xhr) {
},this));
}
在控制器函数中
respond_to do |format|
format.html {
redirect_to home_url
}
end
当您在 AJAX 响应中执行重定向时,您实际上是在重定向响应本身,而不是从哪个页面发出请求。
我喜欢将其视为在 2 条相互平行的独立道路上有 2 辆独立的汽车。当您从第一辆车发出 ajax 请求时,您实际上是在对另一条路上的另一辆车大喊大叫,告诉他们做某事。如果你告诉那辆车左转它会左转,但是第一辆车没有改变方向,它只是一直向前。
为了让您的应用程序在第一辆仍在直行的汽车中实际执行重定向,您需要从第二辆汽车获得某种响应,可能会说 "I can turn left, but it won't do you any good. Why don't you turn left instead?".
在代码中,这可以表示为不是在 rails 控制器中执行重定向,而是在 AJAX 响应中执行重定向。
像这样可能更合适...
.success($.proxy(function(data, xhr) {
window.location.replace("/home");
},this));
另请参阅另一篇关于 AJAX 响应后重定向的 Stack Overflow 文章。
How to manage a redirect request after a jQuery Ajax call
除了重定向到首页外,代码似乎可以正常工作 URL.How 我可以让 ajax 重定向到首页 URL。
JS函数
func1: function(dest_board, copy_option, member_option){
$.ajax({
url: "get_values",
type: "POST",
data: {new_board: dest_board, copy_option: copy_option, member_option: member_option}
}).success($.proxy(function(data, xhr) {
},this));
}
在控制器函数中
respond_to do |format|
format.html {
redirect_to home_url
}
end
当您在 AJAX 响应中执行重定向时,您实际上是在重定向响应本身,而不是从哪个页面发出请求。
我喜欢将其视为在 2 条相互平行的独立道路上有 2 辆独立的汽车。当您从第一辆车发出 ajax 请求时,您实际上是在对另一条路上的另一辆车大喊大叫,告诉他们做某事。如果你告诉那辆车左转它会左转,但是第一辆车没有改变方向,它只是一直向前。
为了让您的应用程序在第一辆仍在直行的汽车中实际执行重定向,您需要从第二辆汽车获得某种响应,可能会说 "I can turn left, but it won't do you any good. Why don't you turn left instead?".
在代码中,这可以表示为不是在 rails 控制器中执行重定向,而是在 AJAX 响应中执行重定向。
像这样可能更合适...
.success($.proxy(function(data, xhr) {
window.location.replace("/home");
},this));
另请参阅另一篇关于 AJAX 响应后重定向的 Stack Overflow 文章。
How to manage a redirect request after a jQuery Ajax call