0、你的需求不是很明确,你的数据库是什么,收到数据后做什么,发送的又是什么数据,什么时候取数据库数据,什么时候存数据库数据,这些你自己理清楚,下面的代码变化下位置,应该是可以满足你的需求的。
1、npm install mysql //nodejs操作mysql数据库的包网页链接
npm install async //nodejs控制同步异步的包网页链接
npm install request //nodejs对http进行封装后的包,比http更好用网页链接
2、下面的思路是:从mysql数据库取出数据 --> 将数据库数据和你的某个数据进行对比 --> 将对比结果发送到指定地址
var mysql = require('mysql');
var async = require('async');
var request = require('request ');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '123456',
database : 'aaa'
});
connection.connect();
connection.query('SELECT data FROM tableA', function (error, results, fields) {
if (error) throw error;
var data = results[0];//自己可以打印result看看是什么,有助于你使用。
console.log('The data is: ', data);
async.auto({//
checkDifferent: function (cb) {
//checkDifferent函数进行数据对比,具体怎么对比看你的需求了,再将对比后的数据往下一个函数传递,具体内容参考async库的作用。
cb(null, differentData);
},
postData: function (result, cb) {//发送数据
var differentData = result.checkDifferent//即上个函数得到对比数据
request.post('你的数据即将的URL', {
formData: {
"data": differentData //这里是简单的例子,具体是否需要headers或者Auth验证看你自己需求,使用方式,例子,上面都给了网址。
},
json: true,
}, function (err, res, body) {
console.log(body);
return;
});
}
})
});
connection.end();
3、接收数据需要建立服务器,不清楚你现在是用什么框架,这里用express做例子。
(1)express的安装、使用方式自行百度
(2)
app.use('/', routes);//即接收到上面2中的post数据后,在routes中进行数据处理(保存)
(3)保存数据到数据库
此时我们已经利用express,建立了服务器,并接收到了数据,数据库保存跟上面2中的查询数据是一样的,只是数据库语句变成INSERT INTO tableA SET XXX,
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host : 'localhost',
user : 'root',
password : '123456',
database : 'aaa'
});
pool.query('INSERT INTO tableA SET XXX', function (error, results, fields) {
if (error) throw error;
console.log(results[0]);
});
4、希望对题主有启发
var http = require("http");';
var url = require("url");
var querystring = require("querystring");
var fs = require("fs");
var headerData = {"Content-Type": "text/plain;charset=utf-8"};
var handle = {}
handle["/"] = index;
handle["/get"] = get;
handle["/login"] = loginAction;
function query(response,userName,password) {
// GET 方法 数据库连接查询操作
// SELECT * FROM ...
// ......
response.writeHead(200, headerData );
response.write(text);
response.end();
}
function renderPage(response) {
console.log("login");
var data = '