我正在使用NodeJS使用NowJS
向我的客户发送通知,但我需要在通知中发送的数据必须来自我的数据库。
由于我使用Django后端,我可以向我的Node.js服务器发出HTTP请求并发送所需的数据。但我需要能够使用Node.js接受这些数据。我怎么能这样做?
答案 0 :(得分:3)
我该怎么做?
require("http").createServer(function (req, res) {
doStuff();
}).listen(PORT);
答案 1 :(得分:2)
我是使用Connect / Express的粉丝,所以这里有一个简单的例子:
var express = require('express');
var app = express.createServer();
var nowjs = require("now");
var everyone = nowjs.initialize(app);
app.use(express.bodyParser()); //If you want nice JSON parsing
app.post('/sendNotification', function(req, res){
console.log(req.params) //Look at the POST params
console.log(req.body) //Look at the POST body
everyone.now.receiveMessage(req.body.dataYouCareAbout);
res.send('Notification Sent!');
});
然后,您可以使用该“sendNotification”端点接受POST数据并将其(或其中某些内容,或任何其他内容)发送到NowJS。
答案 2 :(得分:1)
使用formidable。以下是他们的文档中的简短示例:
var formidable = require('formidable'),
http = require('http'),
util = require('util');
http.createServer(function(req, res) {
if (req.url == '/upload' && req.method.toLowerCase() == 'post') {
// parse a file upload
var form = new formidable.IncomingForm();
form.parse(req, function(err, fields, files) {
res.writeHead(200, {'content-type': 'text/plain'});
res.write('received upload:\n\n');
res.end(util.inspect({fields: fields, files: files}));
});
return;
}