RESTful路由-无法获取发布的“新”路由(JavaScript,Node,Mongoose)

时间:2020-08-27 16:10:26

标签: javascript node.js rest express

我陷入困境并感到沮丧。希望有人可以帮助我。有人可以告诉我为什么我的新POST路由不起作用吗?

我正在尝试创建一个便笺档案,其中每个类别都具有不同的架构,全部位于视图目录下的rNotes子目录中

这是文件夹结构。

  • jp_Res_Notes
  •   node_modules
    
  •       views
    
  •         rNotes
    
  •             tRex
    
  •               tRex.ejs
    
  •               new.ejs
    

这是我的app.js

var express = require ("express"),
     app = express(),
     bodyParser = require("body-parser");

app.use(bodyParser.urlencoded({extended:true}));
app.set("view engine", "ejs");

var tRex = [
        {name: "Big Girl", image:"https://images.unsplash.com/pxxxx", pms:"Dr Grant", cage:"North", price:".089", lease:"yes", weights:"+/-20",  process:"aggressive! These guys know their stuff" },
        {name: "Big Boy", image:"https://images.unsplash.com/pxxxx", pms:"L Dern", cage:"South", price:"1.5", lease:"yes", weights:"+/-10",  process:"Hungry" },
        {name: "Brother", image:"https://images.unsplash.com/XXX", pms:"Timmy", cage:"South", price:"1.5", lease:"yes", weights:"+/-10",  process:"Thirsty" },
    ]

app.get("/", function(req,res){
    res.render("landing");
});

app.get("/rNotes/tRex/tRex", function(req,res){
    res.render("rNotes/tRex/tRex",{tRex:tRex});
});

app.post("/rNotes/tRex/tRex", function(req,res){
    
    var name =              req.body.name;
    var image =             req.body.image;
    var pms =               req.body.pms;
    var cage =              req.body.cage;
    var price =             req.body.price;
    var lease =             req.body.lease;
    var weights =           req.body.weights;
    var process =           req.body.process;
    var newtRex = {name: name, image:image, pms:pms, cage:cage,                                                                                
                   price:price,lease:lease,weights:weights,process:process}
    tRex.push(newtRex);
    res.redirect("rNotes/tRex/tRex");
});

app.get("rNotes/tRex/tRex/new", function(req, res){
    res.render("/rNotes/tRex/new.ejs");
});

app.listen(process.env.PORT||3000, process.env.IP, function(){
    console.log("The Jurassic Park Notes has started!!");
});

这是我的new.ejs文件

<%- include("../partials/header") %>

<h1>
    New T Rex!
</h1>

<form action="/rNotes/tRex/tRex" method="POST">
    <input type="text" name="name"               placeholder="tRex Name">
    <input type="text" name="image"              placeholder="image url">
    <input type="text" name="pms"                placeholder="pms">
    <input type="text" name="cage"               placeholder="cage">
    <input type="text" name="price"              placeholder="price">
    <input type="text" name="lease"              placeholder="yes or no?">
    <input type="text" name="weights"            placeholder="weights">
    <input type="text" name="process"            placeholder="process">
    <button>Submit!</button>

这是我的tRex.ejs文件

<%- include("../partials/header") %>

<h1>This is the T Rex page! And.. its not working!!</h1>

<% tRex.forEach(function(tRex){ %>
    <div>
        <h4><%= tRex.name %></h4>
        <img src="<%= tRex.image %>">
        <li><%= tRex.pms %></li>    
        <li><%= tRex.cage %></li>
        <li><%= tRex.price %></li>  
        <li><%= tRex.lease %></li>
        <li><%= tRex.weights %></li>    
        <li><%= tRex.process %></li>
    </div>
                                      
<% }); %>

我知道我的帖子路线有问题。我认为这与子文件夹的使用有关,但是我非常感谢有人为我提供一些指导。

我收到此错误

无法获取/ rNotes / tRex / rNotes / tRex / tRex

请帮助!

0 个答案:

没有答案
相关问题