【问题标题】:nodejs redirecting data from ajax to ejsnodejs将数据从ajax重定向到ejs
【发布时间】:2017-08-26 01:58:46
【问题描述】:

我在客户端使用 ajax post 将用户详细信息发布到数据库。在服务器端,我将我的发布请求处理为:

      app.post("/journey",function(req,res){
      var obj = JSON.stringify(req.body);
      var dt = JSON.parse(obj);
      //console.log(dt.zip)
      var journey_details = new Journey({
        zip : dt.zip,
        age65 : dt.age65,
        first_name : dt.fname,
        last_name : dt.lname
      });
      journey_details.save(function (err) {
     if (err) {
       return err;
     }
     else {
       console.log("Journey details saved");
       // i use some api here to get json data named parsedData
       //since i've to display the name and parsedData on a new page, i send the data to front end javascript as 
       res.send({redirect: '/profile', first_name : dt.fname, last_name : dt.lname, parsedData :  parsedData});
    });
    });

因为我使用的是 ajax 帖子,所以我在 ajax 成功时重定向。获得上述数据后,我使用

将其重定向到新的个人资料 ejs 页面
    var final_url = "http://localhost:3000" + data.redirect +"/"+data.first_name + "/" + data.last_name;
    window.location.replace(final_url);

这会将它们重定向到 localhost:3000/profile/fname/lname 或者我可以在 url 中使用一些唯一的 id 或类似的东西 它在我的个人资料 ejs 页面中处理

但我还想将 parsedData 发送到我的个人资料 ejs 页面。自从。 parsedData 有多个包含许多字段的 json 对象,我认为我不能通过 url 将其发送为:

    var final_url = "http://localhost:3000" + data.redirect +"/"+data.first_name + "/" + data.last_name + "/"+data.parsedData;
    window.location.replace(final_url);

除了 urlheader 之外,还有什么方法可以让我扫描发送它,这样我就可以像访问下面的 fname 和 lname 一样轻松地访问 parsedData:

    app.get("/profile/:firstname/:lastname",function(req,res){
    console.log(req.params.firstname);
    res.render("profile", {firstname : req.params.firstname,lastname : req.params.lastname}) // i want parsedData here

  });

【问题讨论】:

    标签: json node.js ajax routing ejs


    【解决方案1】:

    GET HTTP 请求不适用于大 url 数据,但在这种情况下使用 POST 请求是逻辑错误。也许对你来说最好的方法是只传递你的 Journey_details.id 来重定向 url,没有任何数据。在服务器端,您将获得此记录并使用您需要的所有数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-30
      • 2020-06-06
      • 1970-01-01
      • 2019-07-19
      • 2021-03-29
      • 2015-02-19
      • 2020-05-14
      相关资源
      最近更新 更多