2017-08-22 32 views
0

我已經使用節點創建了一個API並公開了一個將在POST請求中執行的方法。從POST重定向不起作用

從這個方法,我回到

res.redirect(redirectUrl); 

重定向到URL。

但是,當此響應被髮送回瀏覽器時,它將作爲POST請求再次重定向到API,在API本身下查找redirectUrl

這可能是一些愚蠢的錯誤,但我無法擺脫這一點。非常感謝任何幫助

+0

我們可以使用普通的JavaScript在節點window.location.href =「www.google.com」 –

回答

1

HTTP響應狀態碼302 Found是執行重定向的常用方式。

帶有此狀態碼的HTTP響應將在位置標題字段中額外提供一個URL。用戶代理(例如網絡瀏覽器)被具有該代碼的響應邀請,以對位置字段中指定的新URL進行第二次(否則相同的)請求。 HTTP/1.0規範(RFC 1945)定義了此代碼,併爲其提供了描述短語「暫時移動」。

來源:維基百科

res.statusCode = 302; 
res.setHeader("Location", '/Url'); 
res.end(); 
0

看一看How do I redirect to another page like google using Nodejs?。我回答了這個問題。你可以使用post方法重定向到api.After你發佈的數據後,響應將被重定向到你想要重定向的地方。

看看這段代碼

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'); 
    }); 

}) 

希望這有助於。

0

我發現了錯誤,它只是網絡協議中的重定向URL中缺少