ExpressJS:如何将数据发送到 URL

工作坊

我有一个 post 请求,它重定向到一个新的路由,如你所见

 //POST login 
 app.post('/login', urlencodedParser, function(req,res){
    userLogin(req.body, function(response){
        if(response == true){
            //Activate player login in db
            loginPlayerDB(req.body.username);
            getPlayerId(req.body.username, function(id){
                res.redirect(req.baseUrl + '/:id/profile');
            });
        } else{
            res.send(500, "Username or Password is incorrect");
        }
    })
});

这个函数被调用

 function getPlayerId(username, callback){
    let sql = "SELECT PlayerId FROM users WHERE Username = (?)";
    var values = [username];
    db.query(sql, values, function(err, result, fields){
        if(err){
            console.log(err);
        } else{
               return callback(result);
        }
    })
}

它重定向到这条路线

app.get('/:id/profile', function(req,res){
    res.render('profile/profile');
})

一切都很好,除了新页面上的 URL 是

http://localhost:3000/:id/profile

当它应该是这样的

http://localhost:3000/6/profile

如果玩家的 id 为 6。我该如何解决这个问题

//解决方案。

感谢 MadWard 的帮助。我的错误是在我的 getPlayerId 函数中,我返回结果,它是一个数组,而不是 result[0].PlayerId 以获得我正在寻找的特定 id

疯人院

您实际上是重定向到/:id/profile. 这是一个字符串,它是固定的,并且始终是“/:id/profile”。

你想要做的是,使用模板字符串

        getPlayerId(req.body.username, function(id){
            res.redirect(`${req.baseUrl}/${id}/profile`);
        });

像您一样使用普通字符串连接:

        getPlayerId(req.body.username, function(id){
            res.redirect(req.baseUrl + '/' + id + '/profile');
        });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将POST数据发送到反向URL

如何将JSON数据从Android发送到php url?

如何将表单发布数据发送到外部URL,然后显示它们

如何将url发送到html文件

如何将slug字段中的url发送到Django中的url中

如何将 URL 发送到 OneNote Android 应用程序?

Bootstrap Datepicker-如何将值发送到URL?

如何将简单的GET发送到URL并在Lambda中查看响应?

如何将URL参数从React Router发送到工具栏?

如何将Ajax请求发送到同一服务器的不同URL

如何将 url 参数从 react 发送到 express api 调用

如何将两个querystring属性发送到jQuery load()中的URL

将cURL数据发送到多个URL

如何使用curl而不是fopen将数据发送到url

如何通过URL将数据发送到服务器。[iOS]

如何使用render()Yii将锚发送到URL

除了URL,如何将其他网页元数据发送到我的Cordova应用程序?

如何将所有请求发送到 CGI 脚本而不出现在 .Htaccess 文件的 URL 中?

将 JSON 值发送到 URL

CodeIgniter将POST数据发送到特定的URL-API数据

通过发布将数据发送到url以使用javascript导出到excel

将数据发送到url而不是在抓取完成后保存

使用CefSharp C#将POST数据发送到URL

URL中有参数时将数据发送到服务器

将隐藏的数据发送到URL并在Laravel中获得响应

PHP-将帖子数据发送到URL并获取响应

通过 javascript @Url.Action 将数据发送到控制器中的方法

如何通过Codeigniter中的URL将数据表单视图发送到控制器,以及如何在控制器中获取数据

如何将视频从android发送到服务器,当转到分配给它的URL时,它可以在浏览器中播放?