【问题标题】:Node.js How to pass Ajax success message to app.jsNode.js 如何将 Ajax 成功消息传递给 app.js
【发布时间】:2015-07-21 12:44:37
【问题描述】:

Node.js 如何将Ajax 成功消息传递给app.js,因为我需要知道用户登录状态

ex:如果用户还没有登录,重定向到log-in.html,所以我需要知道成功信息。

index.html

...
<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript>

            $.ajax({
                url: URLs,
                data: $('#sentToBack').serialize(),
                type:"POST",
                dataType:'text',

                success: function(msg){
                   if(msg == "True")
                   {
                     location.href = '/index.html';
                   }

                },

                 error:function(msg){ 
                    console.log(msg);
                 }
            });

</script>

app.js

var express = require('express');
var app = express();

app.get('/', function(req, res){
  // I want to send to here !!
});

app.listen(3000);

【问题讨论】:

  • 要将内容发送到 app.js(服务器),您需要进行另一个 AJAX 调用。另外,你为什么不在 success / error 回调本身使用类似location.href 的方式重定向到 log-in.html跨度>
  • @Sourabh- 感谢您的回答!如果有人进入“index.html”,它将忽略日志记录操作!

标签: javascript jquery ajax json node.js


【解决方案1】:

你必须用 express 声明一个帖子资源并启用正文解析器

app.use(express.bodyParser());
app.post('/yourRessource', function(req, res) {
  var sendToBack = req.body;
  console.log(sendToBack); // debugging
});

【讨论】:

    【解决方案2】:

    许多不同的方法可以做到这一点。

    这里

    app.get('/', function(req, res){
      // I want to send to here !!
    });
    

    正在定义将处理对根路由的获取请求的函数

    如果您发送 AJAX 请求,您需要考虑您使用的是什么 METHOD (GET/POST/PUT/DELETE),以及您发送的是什么内容。例如,如果您使用 JSON,则可能需要一些东西来解析正文。

    如果您想维护会话信息和登录等,我建议您查看一些middleware,例如PassportJS

    您可以将Passport 配置为在收到来自未经身份验证的用户的请求时自动重定向到登录页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      • 2017-01-17
      • 2017-01-21
      相关资源
      最近更新 更多