【发布时间】: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