我是 Node.js 的新手,这是我使用它的第一个项目。 我制作了一个名为 test.js 的 node.js 文件。它有一个数组,比如 a。
现在我想制作一个 HTML 文件,在按钮单击事件时调用此 test.js。然后从该文件中获取数据并将其发布到 HTML 文件中的表格上。
我已经编写了 node.js 文件,我可以在 console.log(a) 上看到结果。但是我不明白如何在它要求时将这个数组发送到 HTML。
与此同时,我用谷歌搜索并编写了一些代码。请求到达服务器,但我总是从服务器收到错误响应。为什么会这样?
客户端 -
function fetch() {
$.ajax({
type: 'POST',
url: "http://127.0.0.1:8888",
data: 'China',
datatype: 'json',
success: function (data) {
alert("hi");
var ret = jQuery.parseJSON(data);
$('#q').html(ret.msg);
},
error: function (xhr, status, error) {
alert("hii");
}
});
服务器端:
http.createServer(function(request, response) {
console.log("Request received");
response.writeHeader(200, {"Content-Type": "application/json"});
request.on('data', function (chunk) {
console.log(chunk.toString('utf8'));
consol.log(result);
response.write(JSON.stringify({data : result}));
});
response.end();
}).listen(8888);
我可以在控制台上看到中国。但是我没有将结果数组返回给客户端。这里的结果是一个数组,我在控制台上得到它的值。只是我没有把它还给客户。有什么帮助吗?
最佳答案
您应该首先设置一个服务器来处理请求。我为此使用 expressjs - http://expressjs.com/
这将允许您将 nodejs 作为 Web 应用程序运行。
在 express JS 中设置一个路由来为您的数据提供服务 - http://expressjs.com/api.html#express
var express = require('express');
var app = express();
app.get('/data', function(req, res){
res.send('hello world'); //replace with your data here
});
app.listen(3000);
打开浏览器,输入 http://MY_SERVER_ADDR:3000/data
,您应该会在那里看到输出。
接下来,您需要将一个事件处理程序附加到您的 HTML 文件,它会在触发时触发 $.get() 请求。在您的 $.get 调用中将之前的 url 添加到您的数据中并对其进行处理。
$('.my_selector').click(function(){
$.get('http://MY_SERVER_ADDR:3000/data', {}, function(data){
console.log(data)
});
});
这应该让你继续。
关于javascript - 从 Node.js 文件中获取数据并将其显示在 HTML/JS 页面中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18042087/