当前位置: 首页 > 面试题库 >

来自POST的res.redirect

曾嘉福
2023-03-14
问题内容

由于某种原因,登录完成后无法重定向到/ blog。在我的登录控制器中,我有以下内容。

module.exports = {

    post: function(req, res) {
         var login = req.body['login'];

         if (login && req.body['login']['password'] == "password") {
            console.log('Granted access');
            res.send({redirect: '/blog'});

         }

         else {
             console.log('wrong password');
             res.redirect('back');

         }

    }

};

jQuery Ajax

$(document).ready ->

    $('#login-button').click () ->

        $.ajax
            url: '/login'
            type: 'POST'
            data: $('#Password').serialize()
            dataType: 'json'
            success: (data, textStatus, jqXHR) ->
                if typeof data.redirect == 'string'
                    window.location = data.redirect

更新为工作代码


问题答案:

AJAX之后,您将无法进行重定向。您需要自己使用Javascript完成。

服务器

post: function(req, res) {
     var login = req.body['login'];          
     app.use(express.bodyParser());


     if (login && req.body['login']['password'] == "tom") {
        var loginPassword = req.body['login']['password'];
        console.log(loginPassword);
        console.log('Granted access');
        res.send({redirect: '/blog'});

     }

     ...

}

客户

$(document).ready ->
    $('#login-button').click () ->
        $.ajax
            url: '/login'
            type: 'POST'
            data: $('#Password').serialize()
            dataType: 'json'
            success: (data, textStatus, jqXHR) ->
                if typeof data.redirect == 'string'
                    window.location = data.redirect

这应该工作。



 类似资料:
  • 我正在使用最新版本的JMeter,并试图从JMeter发出POST请求,但我无法看到更改HTTP方法的下拉列表。你能告诉我为什么我看不到下拉列表吗? 请在下面找到JMeter的屏幕截图。它没有用于指定HTTP方法的下拉列表。

  • 在过去的几天里,我一直在努力解决这个问题,我想我尝试了在互联网上找到的每一个例子。我正在尝试登录我的REST,并获取持续通信的授权码。它在使用邮递员时有效 ------取自邮递员生成代码片段---- 它回来了 我的CodenameOne项目中的代码是: 当使用CodenameOne模拟器网络监视器时,会产生以下结果

  • 问题内容: 我正在使用Expressjs作为API,并且正在使用angular来执行该POST。我想回应快递发送的重定向。Angular POST的成功返回了我打算重定向到的页面的HTML,但是DOM没有任何反应。我可以看到我的重定向在网络流量中起作用,并且下面的console.log数据包含重定向页面的DOM。 如何刷新DOM,以反映此成功的POST,或处理“重定向”? 角码: Expressj

  • 我正试图通过JMeter发送HTTP请求。我创建了一个循环计数为25的线程组。我有一个120的加速期,线程数设置为30。在线程组中,我有20个HTTP请求。对于JMeter如何运行这些请求,我有点困惑。一个线程组内的20个请求是否都在一个线程中运行,而线程组上的每个循环是否在不同的线程上并发运行?或者,20个请求中的每一个都在可用时在不同的线程中运行。 我的另一个问题是,在每个循环中,我想改变通过

  • 我正在尝试进行第三方授权。当我向服务器发送一个POST请求时,它会发送HTML作为响应。

  • 快速介绍(可以跳过):嗨,有很多关于这个主题的问题和答案,但是有时候解决方案很简单,你甚至都没想过,因为我已经浪费了很多时间,所以我想发布一个对所有答案的补充。 问题:您有一个JSON REST服务,它处理POST请求以保存JSON对象,但该对象包含Genson未开箱即用解析的Date字段。 Java对象: 球衣的其余服务: 使用jQuery的javascript客户端: