gpt4 book ai didi

javascript - Rails 中 AJAX 请求后重定向到 html 响应

转载 作者:行者123 更新时间:2023-12-03 03:47:18 25 4
gpt4 key购买 nike

除了重定向到主页 URL 之外,代码似乎工作正常。如何使 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));
}

在 Controller 功能中

respond_to do |format|
format.html {
redirect_to home_url
}
end

最佳答案

当您在 AJAX 响应中执行 reddirect 时,您实际上是在重定向响应本身,而不是从哪个页面发出请求。

我喜欢将其视为有 2 辆独立的汽车在 2 条独立的道路上相互平行行驶。当您从第一辆车发出 ajax 请求时,您实际上是在对另一条路上的另一辆车大喊大叫,告诉他们做某事。如果你告诉那辆车左转,它就会左转,但第一辆车不会改变方向,它只是继续前进。

为了让您的应用程序在仍在直行的第一辆车中实际执行重定向,您需要从第二辆车获得某种响应,该响应可能会说“我可以向左转,但它不会这样做”你很好。为什么不向左转呢?”。

在代码中,这可以通过不在 Rails Controller 中执行重定向来表示,而是在 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

关于javascript - Rails 中 AJAX 请求后重定向到 html 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45330918/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com