从Node.js文件获取数据并将其显示在HTML / JS页面中
我是Node.js的新手,这是我的第一个项目。 我做了一个名为test.js的node.js文件。 它有一个arrays说一个。
现在我想制作一个HTML文件,在button click事件上调用这个test.js。 然后从该文件获取数据并将其发布到HTML文件的表格中。
我已经写了node.js文件,我可以在console.log(a)上看到结果。 但我不能理解如何将这个数组发送到HTML时,它会要求它。
同时,我search了一些代码。 请求到达服务器,但我总是从服务器得到错误响应。 为什么这样?
客户端 –
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);
打开一个浏览器,inputhttp://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) }); });
这应该让你去。