php - app.post 路由中的express.js res.redirect 未重定向到给定的 URL

标签 php node.js

我正在使用express.js,app.post路由用于验证用户并使用res.redirect()将有效用户重定向到PHP页面,但它不是重定向而是显示Found。重定向至 http://localhost/home.php

我的server.js代码如下:

app.post('/set_node_session', function(req, res){
    sess = req.session; 

    var usermail = req.body.field1;
    var password = req.body.field2;

    var sql="SELECT * FROM userInfo WHERE userEmail='"+usermail+"'";    
    con.query(sql, function (err, result, fields) {
        if (err) throw err;     
        sess.user_id=result[0].userId;
        sess.first_name=result[0].userFname;
        sess.last_name=result[0].userLname;

        if(sess.user_id) {
            res.redirect('http://localhost/home.php');
        }
        else {
            res.redirect('http://localhost/login.php');
        }
    });  
});

最佳答案

Node :

var resp = sess.user_id ? '1' : '0';
res.send(resp );

在你的 php 中:

$result = curl_exec($ch);

if(result == 1){
    header("Location: http://localhost/home.php");
}
else{
    header("Location: http://localhost/login.php");
}
die();

关于php - app.post 路由中的express.js res.redirect 未重定向到给定的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46393583/

相关文章:

javascript - Laravel使用Uppy开源出现419错误,如何向Uppy添加csrf token?

php - MySQL 只返回一行(最近的一行)

node.js - 已部署:如何实现 dpd-passport 并安全地进行身份验证

node.js - Windows 10 Linux 镜像中的 Docker 绑定(bind)挂载问题

node.js - 使用 'Event' 调用类型时未调用 AWS Lambda

php - 引号 - php 到 javascript

PHP, header (重定向)在实时服务器上不起作用

javascript - Express.js HTTPS 未启动服务器

javascript - Node.js,将对象存储在内存或数据库中?

php - 使用 PHP 解析 CSS 文件