0
我有一個分配給寫node.js
的http
服務器,這就是爲什麼我不能使用http
模塊,你很快就會看到POST請求。無論如何,我需要能夠聽取GET和POST請求。我瞭解它的方式GET只會觸發data
事件,併發生火災data
和end
。這是我的代碼:不能處理的node.js
function Server(resourceMap, rootFolder) {
this.resourceMap = resourceMap;
this.rootFolder = rootFolder;
function connectionHandler(socket) {
console.log('server connected');
console.log('CONNECTED: ' + socket.remoteAddress +':'+ socket.remotePort);
socket.setEncoding('utf8');
socket.on('data',function(data) {
var re = new RegExp("^(*)(GET)", "i");
if (data.match(re) != null) {
console.log("Handling GET request");
router.route(data,socket,handle,resourceMap,rootFolder);
}
else {
(function() {
var postData = data;
socket.on('data',function(data) {
postData += data;
});
console.log(postData);
socket.on('end',function(postData) {
console.log("END");
console.log("Handling POST request");
router.route(postData,socket,handle,resourceMap,rootFolder);
});
});
}
});
}
this.server = net.createServer(connectionHandler);
this.port = undefined;
this.startServer = function(port) { //Maybe change backlog for security reasons
this.port = port;
this.server.listen(port, function() { //'listening' listener add handle object here
console.log('server bound');});
}
}
GET
請求工作得很好。與POST
它甚至不輸入匿名函數。
任何想法爲什麼以及如何解決它?
編輯:解決了 - 我定義的功能,但並沒有把它:) 如果您對我的設計,我很樂意聽到任何意見,因爲我是新來的Node.js和JavaScript
謝謝
這是一個新手的錯誤,謝謝。除此之外,如果您對設計有任何意見,我很有興趣聽到 – Yotam
@Yamam,它看起來不錯,只是嵌套得太難以閱讀(併爲您調試)。它不是新手的錯誤,經常發生 – texasbruce