这是我的nodejs
var http = require('http');
var request = require("request");
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end('Hello World!');
}).listen(8080);
console.log("welcome");
request("https://cognitive/myurl/w1/monitor/mystatus", function(error, response, body) {
console.log(body);
var mydata = body;
});
如何将此mydata传递给html? Mydata将包含JSON。我想从那个JSON打印表。如果是app.get我可以通过ajax调用。我是nodejs的新手,如果有人知道请帮忙!
答案 0 :(得分:0)
如何将此mydata传递给html? Mydata将包含JSON。我想要 从那个JSON打印表。如果是app.get我可以通过ajax调用。 我是nodejs的新手,如果有人知道请帮忙!
假设您使用JQuery。您需要在HTML文件中附加一个偶数处理程序,它会在触发时触发$ .get()请求。将您的网址添加到$ .get调用中的数据并对其执行操作。
$('.my_selector').click(function(){
$.get('http://MY_SERVER_ADDR:MY_PORT/data', {}, function(data){
console.log(data)
});
});
从那里,您可以在任何地方插入数据。
答案 1 :(得分:0)
首先,您需要让服务器返回JSON而不是您当前拥有的硬编码字符串。这是一个让你入门的小例子:
const http = require('http');
const server = http.createServer((request, response) => {
response.end (JSON.stringify ({ a: 'b' }))
}).listen(3000);
这将创建一个响应哈希的JSON表示的服务器{a:' b'当你发送GET' /'请求。
您现在可以执行以下两项操作之一:
简单的前端应用程序如下所示:
$.getJSON ('localhost:3000/', function (data) {
$.each(data, function (key, value) {
$('#myList').append( "<li id='" + key + "'>" + value + "</li>" );
});
})
答案 2 :(得分:0)
我是这样做的。这应该可以将您的数据从节点服务器获取到html页面。
从网页向节点服务器发出AJAX请求。
function getData (query) {
query = query || '';
url = 'http://localhost:3000';
return new Promise(function(resolve, reject) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url + query);
xhr.onload = function() {
if(xhr.status === 200) resolve(xhr.responseText);
else reject(Error(xhr.statusText + 'status : ' + xhr.status));
}
xhr.onerror = function() {
reject(Error('Network Error'))
}
xhr.send();
})
}
getData().then(function(response) {
//do something with response
});
在节点服务器上:
var server = http.createServer().listen(3000);
server.on('request' , function (request, response) {
switch (request.method){
case 'GET':
handleGET(request, response);
break;
case 'POST':
handlePOST(request, response);
break;
default:
res.writeHead(404);
res.end();
break;
}
function handleGET (req, res) {
res.writeHead(200, {
'Content-Type' : 'application/json'
});
res.write(JSON.stringify(result))
res.end()
}
答案 3 :(得分:0)
在NodeJS应用程序中使用模板引擎,例如EJS。在EJS的帮助下,您可以将任何类型的数据发送到HTML文件(在本例中为 .ejs 文件)并根据您的要求进行渲染。
有关更多信息,请参阅此链接: https://www.npmjs.com/package/ejs