0
NodeJS와 get 요청을 처리하는 API가 있습니다.라우터에서 인코딩 된 URL을 가져 오면 NodeJS Express 서버가 충돌합니다.
...
var apiRoutes = express.Router();
apiRoutes.get("/filter/:name",function(req, res){
// do something
res.json(result);
}
app.use('/api', apiRoutes);
클라이언트에서 다음
(안 중요한 정보하지만 Angular2입니다) :
find(name:string): void{
name.trim();
this.http.get(encodeURI('http://server_address/api/filter/' + name))...
그것은 위해서 등 공백을 포함하지 않는 매개 변수에 대해 잘 작동이 작업을하게 또한 간격을 둔 입력, 나는 encodeURI
기능을 사용했습니다. 그러나 공백 문자를 입력하면 서버에 오류가 발생합니다.
undefined:0
^
SyntaxError: Unexpected end of input
at Object.parse (native)
at IncomingMessage.<anonymous> (/user/home/server/server.js:65:28)
at IncomingMessage.EventEmitter.emit (events.js:117:20)
at _stream_readable.js:920:16
at process._tickCallback (node.js:415:13)
문제를 해결하려면 어떻게해야합니까?