403在expressjs中发布时出现禁止错误

mar*_*ark 7 node.js express

他全部,我正在尝试发布一个新表单,并且我一直收到以下403错误

Error: Forbidden
at Object.exports.error (/Users/mark/Dropbox/Programming/mine/node/botappv2/node_modules/express/node_modules/connect/lib/utils.js:63:13)
at createToken (/Users/mark/Dropbox/Programming/mine/node/botappv2/node_modules/express/node_modules/connect/lib/middleware/csrf.js:82:55)
at Object.handle (/Users/mark/Dropbox/Programming/mine/node/botappv2/node_modules/express/node_modules/connect/lib/middleware/csrf.js:48:24)
at next (/Users/mark/Dropbox/Programming/mine/node/botappv2/node_modules/express/node_modules/connect/lib/proto.js:193:15)
at Object.handle (/Users/mark/Dropbox/Programming/mine/node/botappv2/node_modules/view-helpers/index.js:65:5)
at next (/Users/mark/Dropbox/Programming/mine/node/botappv2/node_modules/express/node_modules/connect/lib/proto.js:193:15)
at Object.handle (/Users/mark/Dropbox/Programming/mine/node/botappv2/config/express.js:70:7)
at next (/Users/mark/Dropbox/Programming/mine/node/botappv2/node_modules/express/node_modules/connect/lib/proto.js:193:15)
at Object.handle (/Users/mark/Dropbox/Programming/mine/node/botappv2/node_modules/connect-flash/lib/flash.js:21:5)
at Context.next (/Users/mark/Dropbox/Programming/mine/node/botappv2/node_modules/express/node_modules/connect/lib/proto.js:193:15)
Run Code Online (Sandbox Code Playgroud)

routes.js

module.exports = function (app, passport) {

  app.get('/', home.index)
  app.get('/dns_servers', dns_server.index)

  app.get('/dns_servers/new', dns_server.new)
  app.post('/dns_servers/create', dns_server.create)

  app.get('/dns_servers/:id', dns_server.show)

  app.get('/dns_servers/:id/edit', dns_server.edit)
  app.post('/dns_servers/:id', dns_server.update)

  app.post('/dns_servers/:id/delete', dns_server.delete)
}
Run Code Online (Sandbox Code Playgroud)

形成行动

form(action='/dns_servers/create',method='post')
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么这会创建403?

mar*_*ark 16

问题是没有设置csrfl ..我需要设置

        input(type="hidden", name="_csrf", value="#{csrf_token}")
Run Code Online (Sandbox Code Playgroud)

  • 伙计,回来回答你自己的问题?荣誉. (6认同)