这是我的代码:
post '/pathA' do
redirect '/pathB'
end
get '/pathB' do
do something
end
get '/pathA' do
do something
end
首先,如果我没有在postA中指定重定向,它将重定向到getA,我不会理解这一点;现在,我想重定向到getB,结果如下:
127.0.0.1 "POST /pathA HTTP/1.1" 303 - 0.0330
127.0.0.1 "GET /pathB HTTP/1.1" 200 15877 0.0229
127.0.0.1 "GET /pathA HTTP/1.1" 200 26017 0.0281
127.0.0.1 "GET /css/reset.css HTTP/1.1" 304 - 0.0020
......(some more resources)
getB中的代码不会被执行。 getA页面正在显示。这会怎么样?如何重定向到getB?
我认为问题是我使用ajax发送帖子请求。
答案 0 :(得分:0)
解决此问题的两种方法:
答案 1 :(得分:0)
如果你在ajax返回成功后使用重载功能,显然你将拥有执行ajax的相同路径。
在ajax返回成功后,您可以发布到新的路径/网址,或者重定向它:
样本伪代码:
$('#my_form').submit( function(event){ //or
$('#btn_submit').click( function(event){
event.preventDefault();
$.ajax({
url: 'http://my_path',
type: 'POST', #GET
data: $('#my_form').serialize(),
success: function(data){
// redirect_to_new_path
}
});
});
以您希望函数执行的方式更改代码。