2017-11-30 14 views
0

내 데이터가 양식에서/persons endpoint로 도착하려고합니다.하지만 오류가 정의되지 않았거나 오류 : 기본 엔진이 지정되지 않았으며 확장 프로그램이 제공되지 않았습니다.console.log 내 양식 데이터를 내 서버로 가져 오는 중 오류가 발생했습니다.

ERROR

listening 
undefined 
Error: No default engine was specified and no extension was provided. 
at new View (/home/mohit/edx- 
proj/node_modules/express/lib/view.js:61:11) 
at EventEmitter.render (/home/mohit/edx- 
proj/node_modules/express/lib/application.js:570:12) 
at ServerResponse.render (/home/mohit/edx- 
proj/node_modules/express/lib/response.js:1008:7) 
at /home/mohit/edx-proj/server.js:42:9 
at Layer.handle [as handle_request] (/home/mohit/edx- 
proj/node_modules/express/lib/router/layer.js:95:5) 
at next (/home/mohit/edx- 
proj/node_modules/express/lib/router/route.js:137:13) 
at Route.dispatch (/home/mohit/edx- 
proj/node_modules/express/lib/router/route.js:112:3) 
at Layer.handle [as handle_request] (/home/mohit/edx- 
proj/node_modules/express/lib/router/layer.js:95:5) 
at /home/mohit/edx- 
proj/node_modules/express/lib/router/index.js:281:22 
at Function.process_params (/home/mohit/edx- 
proj/node_modules/express/lib/router/index.js:335:12) 

server.js 파일

var express = require('express'); 
var sqlite3 = require('sqlite3'); 
var formidable = require('formidable'); 
var bodyParser = require('body-parser'); 
var urlencodedParser = bodyParser.urlencoded({ extended: false }) 
var app=express(); 
app.get(`/`,function(request,response){ 
      response.writeHead(200, {'Content-Type': 'text/html'}); 
     response.write("sfewqcfnvsjv") 
     response.write('<form action="/persons" method="post" >'); 
     response.write('<input type="number" name="filetoupload"><br>'); 
     response.write('<input type="text" name="filetoupload"><br>'); 
     response.write('<input type="text" name="filetoupload"><br>'); 
     response.write('<input type="submit">'); 
     response.write('</form>'); 
     response.end() 
}); 

app.post('/persons',urlencodedParser,function(req, res){ 
    console.log(req.body); 
    res.render('persons',{qs:req.query}); 
}); 

app.listen(8000,function(){ 
    console.log("listen:8000") 
}) 

제가 놓친 게 무엇인지 사전에 감사 주시기 바랍니다.

+0

https://stackoverflow.com/questions/23595282/error-no-default-engine-was-specified-and-no-extension-was-provided – wrangler

+0

app.set ('view engine', 'html '); 하지만 오류 'html'모듈을 찾을 수 없습니다 –

답변

1

당신은 지정하지 않은 뷰 엔진의 어떤

그 중 하나입니다

HTML에

app.set('view engine', 'html'); 

또는 JSON 형식으로 렌더링하는 방법

res.json({ error: err }) 

또는 ejs에서 렌더링하기

app.set('view engine', 'ejs'); 

또는 옥 렌더링/흙

app.set('view engine', 'jade'); 

app.set('view engine', 'pug'); 

참고 : 당신이 파일이 무엇인지 형식에 따라 또는 퍼그를 사용하도록하고 있으며, 사용하지 app.set('view engine', 'jade');app.set('view engine', 'pug'); 함께 jadepug

에 대해 자세히 알아볼 수 있습니다.

+0

그리고'req.body '가'req' 객체에 없기 때문에 오류가 발생하기 바로 전에'undefined'가 있습니다. 유효하지 않은 콘텐츠 유형으로 'POST'중일 수 있습니다. – sshow

+0

메모 만 : Jade = pug – YouneL