代码似乎正常工作,除了重定向到主页URL。如何将ajax重定向到主页URL。
JS功能
it("checks version number correctly", () => {
var store = mockStore(initialState);
const tree = renderer.create(
<Provider store={store}>
<App/>
</Provider>
)
expect(tree.needsUpdate("1.0.0")).toBe(true)
})
在控制器功能
中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));
}
答案 0 :(得分:1)
当您在AJAX响应中执行redcirect时,您实际上是重定向响应本身,而不是从哪个页面重定向请求。
我喜欢把它想象成在两条彼此平行的独立道路上有两辆独立的汽车。当你从第一辆车发出ajax请求时,你基本上会对另一条路上的另一辆车大喊大叫,告诉他们做点什么。如果你告诉那辆车向左转,它会向左转,但是第一辆车不会改变方向,只是继续前进。
为了让您的应用程序在第一辆仍然直行的汽车中实际执行重定向,您需要从第二辆汽车得到某种类型的响应,可能会说类似于&#34;我可以向左转,但它对你没有任何好处。为什么不转而离开呢?&#34;。
在代码中,这可以通过而不是在rails控制器中执行重定向来代替,而是在AJAX响应中执行重定向。
这样的事情可能更合适......
.success($.proxy(function(data, xhr) {
window.location.replace("/home");
},this));
另请参阅另一篇有关在AJAX响应后重定向的Stack Overflow文章。