私はnodejsを初めて使用し、追加の投稿フォームの詳細を送信しながら、下記の問題に直面する小さなプロジェクト(ブログ) addPost.jadeとpost.jsのコードも追加しました。私はこれにこだわっていますよう定義されていない翡翠のプロパティ '長さ'を読み取ることができません
//Created by Sinner on 11-Apr-17.
extends layout
block content
h1=title
ul.errors
if errors
each error, i in errors
li.alert.alert-danger #{error.msg}
form(method='post', action='/posts/add', enctype='multipart/form-data')
.form-group
label Title:
input.form-control(name='title', type='text')
.form-group
label Category:
select.form-control(name='category')
each cat, i in catList
option(value = '#{cat.title}') #{cat.title}
.form-group
label Body:
textarea.form-control(name='body', id='body')
.form-group
label Main Image:
input.form-control(name='mainimage', type='file')
.form-group
label Author:
select.form-control(name='author')
option(value='Akshay Gupta') Akshay Gupta
option(value='Riddhi Tandon') Riddhi Tandon
input.btn.btn-default(name='Submit', type='submit', value='Save')
script(src='/ckeditor/ckeditor.js')
script CKEDITOR.replace('body')
post.jsが
ファイルGETリクエストのために細かいレンダリングされる
TypeError: E:\Web projects\NodeJs projects\nodeBlog\views\addpost.jade:19
17| label Category:
18| select.form-control(name='category')
> 19| each cat, i in catList
20| option(value = '#{cat.title}') #{cat.title}
21| .form-group
22| label Body:
Cannot read property 'length' of undefined
at eval (eval at <anonymous> (E:\Web projects\NodeJs projects\nodeBlog\node_modules\jade\lib\index.js:218:8), <anonymous>:210:31)
at eval (eval at <anonymous> (E:\Web projects\NodeJs projects\nodeBlog\node_modules\jade\lib\index.js:218:8), <anonymous>:247:4)
at eval (eval at <anonymous> (E:\Web projects\NodeJs projects\nodeBlog\node_modules\jade\lib\index.js:218:8), <anonymous>:383:22)
at res (E:\Web projects\NodeJs projects\nodeBlog\node_modules\jade\lib\index.js:219:38)
at Object.exports.renderFile (E:\Web projects\NodeJs projects\nodeBlog\node_modules\jade\lib\index.js:380:38)
at Object.exports.renderFile (E:\Web projects\NodeJs projects\nodeBlog\node_modules\jade\lib\index.js:370:21)
at View.exports.__express [as engine] (E:\Web projects\NodeJs projects\nodeBlog\node_modules\jade\lib\index.js:417:11)
at View.render (E:\Web projects\NodeJs projects\nodeBlog\node_modules\express\lib\view.js:126:8)
at tryRender (E:\Web projects\NodeJs projects\nodeBlog\node_modules\express\lib\application.js:639:10)
at EventEmitter.render (E:\Web projects\NodeJs projects\nodeBlog\node_modules\express\lib\application.js:591:3)
at ServerResponse.render (E:\Web projects\NodeJs projects\nodeBlog\node_modules\express\lib\response.js:960:7)
at E:\Web projects\NodeJs projects\nodeBlog\routes\post.js:89:6
at Layer.handle [as handle_request] (E:\Web projects\NodeJs projects\nodeBlog\node_modules\express\lib\router\layer.js:95:5)
at next (E:\Web projects\NodeJs projects\nodeBlog\node_modules\express\lib\router\route.js:131:13)
at Immediate.<anonymous> (E:\Web projects\NodeJs projects\nodeBlog\node_modules\multer\lib\make-middleware.js:53:37)
at runCallback (timers.js:655:20)
addPost.jadeファイルには、この問題を解決するには、私を助けてください。
PS:また、ポストは、問題が、このコードの一部である
おかげ
この問題を解決する方法を教えてください。 –
私は問題を理解しました助けてくれてありがとう。 –
私はコード をコメントアウトしました//具体的にはこの1つです res.render( 'addpost'、{ "タイトル": "投稿を追加" }); および req.location( '/'); req.redirect( '/');これはres.location( '/')とres.redirect( '/')である必要があります –