Я запускаю простое приложение node.js, которое отправляет объект JSON после http post. Приложение использует модули node-mysql и express.Не уверен, что код Node.js асинхронен
Вот код.
HTML: конфигурация
$(document).ready(function() {
setInterval(function() {
var path = window.location.pathname;
$.ajax({
url: path,
type: "POST",
contentType: "application/json",
processData: false,
complete: function (data) {
var a = JSON.parse(data.responseText);
var display = "<ul style='list-style-type:none'>";
var count = 1;
for (var key in a) {
if (a.hasOwnProperty(key)) {
var str = a[key].split('|');
display += "<li style='background: #333; margin: 10px 0;'>" + str[0] + " <span style='color:#ddd;'>to " + str[1] + "</span></li>";
count++;
}
}
display += "</ul>"
$('#output').html(display);
}
});
}, 3000);
});
Страница:
app.get('/', function(req,res) {
res.sendfile(__dirname + '/index.html');
});
app.get('/docs', function(req,res) {
res.sendfile(__dirname + '/display.html');
});
app.get('/bio', function(req,res) {
res.sendfile(__dirname + '/display.html');
});
app.get('/int', function(req,res) {
res.sendfile(__dirname + '/display.html');
});
И один из методов app.post, используемых для передачи объекта JSON на запросе страницы. Есть четыре, корень, который является всего лишь списком ссылок, указывающих на/docs,/bio и/int.
app.post('/docs', function(req, res){
var query = "/* query */";
connection.query(query, req.body, function(err, rows, fields) {
if (err) throw err;
var obj = {};
var id = "";
for (var i = 0; i < rows.length; i++) {
id = "id" + i;
obj[prop] = rows[i].name + '|' + rows[i].counter_name;
}
res.send(JSON.stringify(obj));
});
});
Приложение работает и, кажется, прекрасно обновляет, но я не уверен, является ли оно асинхронным или нет. В принципе, просто нужно знать, если это так, и если это не некоторые указатели, чтобы это сделать.
Да, ваш код асинхронный :) – thefourtheye