[英]Getting Data from Node.js file and displaying it in HTML/JS page
我是Node.js的新手,这是我的第一个项目。 我创建了一个名为test.js的node.js文件。 它有一个数组说a。
现在我想创建一个HTML文件,在按钮单击事件上调用此test.js。 然后从该文件中获取数据并将其发布到HTML文件中的表中。
我已经编写了node.js文件,我可以在console.log(a)上看到结果。 但我不明白如何将此数组发送到HTML时它会要求它。
与此同时,我用Google搜索并编写了一些代码。 请求到达服务器但我始终从服务器获得错误响应。 为什么这样?
客户端 -
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应用程序运行。
在快速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)
});
});
这应该让你去。
在与同样的问题搏斗之后,我发现这正是模板引擎进入节点图片的地方。 EJS为我解决了它,但还有更多可用的。 本文比较了10个模板引擎。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.