gpt4 book ai didi

javascript - Node-Webkit mysql 数据到新闻提要

转载 作者:行者123 更新时间:2023-11-29 19:15:00 26 4
gpt4 key购买 nike

我正在开发一个新闻源工具,我们可以将远程新闻消息发送到屏幕。现在我已经完成了系统的后端,现在正在前端/客户端上工作。

我将使用node-web kit在屏幕上显示新闻。我已经与数据库建立了连接,并且它也在控制台日志中显示了消息。但我无法正确地将其显示在新闻提要页面上。

我尝试让它看起来像 CNN 新闻提要横幅: CNN feed banner

样式不是问题,但我没有从 json(mysql 输出)到屏幕获取日期。

我在控制台中从 mysql 获得的输出如下所示:

[{"id":1,"message":"Test message #1"},{"id":2,"message":"Test message #2"},{"id":3,"message":"Test message #3"}] 

客户端的代码如下所示:

<html>
<head>
<title>NewsFeed</title>

<script>

var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'XXXXX',
user : 'XXXXX',
password : '',
database : 'XXXXX'
});

connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}

connection.query('SELECT * FROM message', function (error, results, fields) {
if (error) throw error;
json = JSON.stringify(results);
console.log(json);
});
});

</script>
</head>
<body>
</body>
</html>

有人知道如何从控制台读取Json信息到HTML View 吗?

还有一种方法可以让新闻源在数据库中添加新消息时自动更新?

更新:我认为自动刷新不是最好的方法。所以我在考虑远程刷新。这个想法是;

用户登录后端系统时添加一条消息,然后按按钮重新加载页面。

喜欢这张图片:Idea reload remote

最佳答案

试试这个。

首先,在 DOM 中添加一个节点元素,它将包含所有消息。

<body>
<h1>Messages</h1>
<div id="message-container"></div>
</body>

然后让你的函数在 DOM 中写入:

connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}

connection.query('SELECT * FROM message', function (error, results, fields) {
if (error) throw error;
json = JSON.stringify(results);
console.log(json);

var container = document.getElementById("message-container")

// Use this in case you can't perform a more precise query
container.innerHTML = "";

results.forEach(function(item){
var node = document.createElement("p");
var textnode = document.createTextNode(item.message);

node.appendChild(textnode);
container.appendChild(node);
})
});
});

为了让您的数据保持最新,您可以进行一些好的民意调查:

function startTimer() {
setTimeout(query, 10000)
}

function query() {
connection.query('SELECT * FROM message', function (error, results, fields) {
if (error) throw error;
json = JSON.stringify(results);
console.log(json);

var container = document.getElementById("message-container")

// Use this in case you can't perform a more precise query
container.innerHTML = "";

results.forEach(function(item){
var node = document.createElement("p");
var textnode = document.createTextNode(item.message);

node.appendChild(textnode);
container.appendChild(node);
startTimer()
})
});
}

connection.connect(function(err) {
if (err) {
console.error('error connecting: ' + err.stack);
return;
}
query()
})

这样你就有了第一个请求。完成后,应用程序将等待 10 秒并提示第二个请求。完成后,会等待 10 秒,依此类推...

关于javascript - Node-Webkit mysql 数据到新闻提要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42786492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com