Nodejs表示发布404错误' / checkout'

时间:2017-06-19 06:17:49

标签: javascript node.js http-status-code-404 express-handlebars

我正在使用Node,Express,Handlebars和MongoDB构建购物车项目。目前,当我尝试使用Jquery提交表单时,我收到的错误是我的' / checkout'文件。最初,我使用 return false 来阻止表单在接收数据之前提交。为了解决这个问题,我尝试使用 event.preventDefault 。在另一个论坛上,有人建议我的 crsf 保护不能正确创建令牌。我使用该路线并添加到我的视图中,最后添加到 hbs 表单中。这些尝试似乎都没有解决我的问题。

这是我的要点的链接。 https://gist.github.com/Satellite9/5e4ce3de5c19cee2f355d872b6d7d3c8

这是我的浏览器发送给我的错误。

  

*错误:找不到C:\ Users \ Leimamo \ PhpstormProjects \ untitled2 \ app.js:60:13 at   Layer.handle [as handle_request]   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ layer.js:95:5)   在trim_prefix   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:317:13)   在   C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:284:7   在Function.process_params   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:335:12)   在下一个   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:275:10)   在   C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表现\ LIB \路由器\ index.js:635:15   在下一个   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:260:14)   在Function.handle   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:174:3)   在路由器   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:47:12)   在Layer.handle [as handle_request]   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ layer.js:95:5)   在trim_prefix   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:317:13)   在   C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:284:7   在Function.process_params   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:335:12)   在下一个   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:275:10)   在C:\ Users \ Leimamo \ PhpstormProjects \ untitled2 \ app.js:51:5 at   Layer.handle [as handle_request]   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ layer.js:95:5)   在trim_prefix   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:317:13)   在   C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:284:7   在Function.process_params   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:335:12)   在下一个   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:275:10)   在serveStatic   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \服务静电\ index.js:75:16)   在Layer.handle [as handle_request]   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ layer.js:95:5)   在trim_prefix   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:317:13)   在   C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:284:7   在Function.process_params   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:335:12)   在下一个   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \表达\ lib中\路由器\ index.js:275:10)   在SessionStrategy.strategy.pass   (C:\ Users \用户Leimamo \ PhpstormProjects \未命名\ node_modules \护照\ lib中\中间件\ authenticate.js:325:9)   *

这是 npm 给我的错误 发布/结账404 206.855 ms -5424

感谢您提供的任何见解。

Killeon

2 个答案:

答案 0 :(得分:1)

你在index.js上使用了错误的动词。改变get-> post。

router.get('/checkout', function(req, res, next) {
......
});

router.post('/checkout', function(req, res, next) {
....
});

答案 1 :(得分:0)

使用我的演示编辑,伙计。

router.get('/checkout', function(req, res, next) {
 //do something
    });

router.post('/checkout', function(req, res, next) {
// do something: get params with req.body
    });
  

我使用该路线并添加到我的视图中,最后添加了hbs表单

hbs表格我在提交表格时使用路线