我使用node创建了一个API,并公开了一个将在POST请求时执行的方法。
从那个方法我回来了
res.redirect(redirectUrl);
重定向到网址。
但是当这个响应被发送回浏览器时,它会再次重定向到API作为POST请求,在API本身下寻找redirectUrl
。
这可能是一些愚蠢的错误,但我无法摆脱这一点。非常感谢任何帮助
答案 0 :(得分:1)
HTTP响应状态代码302
Found是执行重定向的常用方法。
具有此状态代码的HTTP响应还将在Location头字段中提供URL。具有该代码的响应邀请用户代理(例如,web浏览器)向位置字段中指定的新URL发出第二个(否则相同的)请求。 HTTP / 1.0规范(RFC 1945)定义了此代码,并为其提供了描述短语“暂时移动”。
来源:维基百科
res.statusCode = 302;
res.setHeader("Location", '/Url');
res.end();
答案 1 :(得分:0)
看看How do I redirect to another page like google using Nodejs?。我回答了这个问题。您可以使用api重定向使用post方法。您发布的数据响应将被重定向到您要重定向的位置。
看看这段代码
url.route('/num')
.post(function(req,res){
shortUrl.create(req.body,function(err,url){
if (err) return console.log(error);
//return res.send(url);
res.redirect('https://www.google.com');
});
})
希望这有帮助。
答案 2 :(得分:0)
我发现了错误,它只是重定向网址中缺少的协议,