0
Я получаю следующее сообщение об ошибкеRangeError nodejs Socket.io
RangeError: Maximum call stack size exceeded
at TCP.hasOwnProperty (native)
at _hasBinary (/usr/local/lib/node_modules/socket.io/node_modules/has-binary/index.js:49:45)
app.js
var express = require('express');
var app = express();
// var responseHandlerRouter = require('./routes/responseHandlerRouter.js');
routes = require('./routes');
var server = app.listen(3000, function() {
console.log('Example app listening on port 3000!');
});
io = require('/usr/local/lib/node_modules/socket.io').listen(server);
app.use('/', routes(io));
route.js
var express = require('express');
var router = express.Router();
module.exports = function (io) {
// all of this router's configurations
router.post('/paymentResponse', function (req, res, next) {
io.sockets.emit('notification', res);
res.end('well finally I am here');
});
return router;
}
index.html
<!doctype html>
<html>
<head>
<script src="http://127.0.0.1:3000/socket.io/socket.io.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-beta1/jquery.js"></script>
<script>
var socket = io.connect('http://localhost:3000');
socket.on('notification', function (data) {
console.log(data);
});
</script>
</head>
<body>
<ul id='messages'></ul>
</body>
</html>
Когда я отправляю к URL http://localhost:3000/paymentResponse, я получаю эту ошибку в терминале запуска сервера nodejs.
Так что я не смогу передать весь ответ как json? – Ajeesh
Что вы пытаетесь достичь? Объект ответа не предназначен для отправки. Он инкапсулирует ответ сервера и предназначен для настройки ответа HTTP, находящегося внутри обработчика запросов. –