Create an account

Very important

  • To access the important data of the forums, you must be active in each forum and especially in the leaks and database leaks section, send data and after sending the data and activity, data and important content will be opened and visible for you.
  • You will only see chat messages from people who are at or below your level.
  • More than 500,000 database leaks and millions of account leaks are waiting for you, so access and view with more activity.
  • Many important data are inactive and inaccessible for you, so open them with activity. (This will be done automatically)


Thread Rating:
  • 248 Vote(s) - 3.45 Average
  • 1
  • 2
  • 3
  • 4
  • 5
In express how do I redirect a user to an external url?

#1
I have a payment system using node.js and braintree, when the payment is successful I want to send the user to the back end. My back end is setup elsewhere.

I have tried

res.writeHead(301,
{Location: 'http://app.example.io'}
);
res.end();

So window.location is obviously not available. I cant think of any ways to redirect a user?
Reply

#2
I just have the same issue and got it work by adding "next". I use routers so maybe you have same issue as mine? Without next, i got error about no render engine...weird


var express = require('express');
var router = express.Router();
var debug = require('debug')('node_blog:server');

/* GET home page. */
router.get('/', function(req, res, next) {
debug("index debug");
res.render('index.html', { title: 'Express' });
});

router.post("/", function (req, res, next) {
//var pass = req.body("password");
//var loginx = req.body("login");
//res.render('index.html', { title: 'Express' });
res.redirect("/users")
next
});

module.exports = router;
Reply

#3
The selected answer did not work for me. It was redirecting me to: `locahost:8080/www.google.com` - which is nonsense.

[301 Moved Permanently][1] needs to be included with `res.status(301)` as seen below.

app.get("/where", (req, res) => {

res.status(301).redirect("https://www.google.com")

})

You are in the same situation since your back-end is elsewhere.

[1]:

[To see links please register here]

Reply

#4
app.get("/where", (req, res) => {

res.status(301).redirect("https://www.google.com")

})

You need to include the status (301)
Reply

#5
You can do

res.redirect('https://app.example.io');

Express docs:

[To see links please register here]

Reply

#6
None of these worked for me, so I tricked the receiving client with the following result:
```
res.status(200).send('<script>window.location.href="https://your external ref"</script>');
```
Some will say if noscript is on this does not work, but really which site does not use it.
Reply

#7
Nobody mentioned this different way of redirect as an answer here, so I write it:

- To **permanent redirect**:

res.redirect(301, 'http://app.example.io');

- To **temporary redirect**:

res.redirect(302, 'http://app.example.io');
// OR
res.redirect('http://app.example.io');

Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

©0Day  2016 - 2023 | All Rights Reserved.  Made with    for the community. Connected through