我正在使用以下代码将一些JSON数据发布到网址,作为回应我正在获取HTML网页。
var request = require('request');
request.post({
url: "URL OF A WEBSITE",
headers: {
"Content-Type": "application/json"
},
body: {
my_json_obj
},
json:true
}, function(error, response, body){
console.log(error);
console.log(JSON.stringify(response));
console.log(body);
});
此代码正常运行我在body
标记中获取了一个HTML页面。
我想在浏览器中加载该HTML页面。我应该怎么做,我知道这是一个非常基本的问题,但我对node.js很新,有人请帮帮我吗?
答案 0 :(得分:0)
关注Express "Hello World" example并在路由处理程序中使用您的请求调用:
/*jslint node:true, esversion:6*/
"use strict";
const request = require("request"),
express = require("express"),
app = express();
let my_json_obj = {},
URL_OF_WEBSITE = "http://www.google.com";
app.get("/", function (req, res) {
request.post({
url: URL_OF_WEBSITE,
headers: {
"Content-Type": "application/json"
},
body: {
my_json_obj
},
json: true
}, function (error, response, body) {
if (error) {
console.log(error);
return res.sendStatus(404);
}
console.log(JSON.stringify(response));
console.log(body);
res.send(body);
});
});
app.listen(3000, function () {
console.log("Example app listening on port 3000!");
});
node.js确实有自己制作服务器的方式,但为了简洁起见,我建议使用Express。
答案 1 :(得分:0)
您使用的是Express js吗?使用Node js应用程序会使事情变得容易多了。
查看Express路由: https://medium.com/javascript-scene/introduction-to-node-express-90c431f9e6fd
您可以使用以下命令在终端中创建Express样板:
express yourappname
然后你可以把你的html / css / js文件放在express-app中 - >您刚刚生成的'public'文件夹。
之后,您可以通过以下操作在app.js中创建路线:
// exampledomain.com/
// Loading the file index.html when user navigates to '/'
app.get('/', function(req, res){
res.sendFile(path.join(__dirname + '/public/index.html'));
});
// or
// exampledomain.com/getFileURL
// POST request (from your ajax) to '/getFileURL'
// which will then load the about.html file into the browser
app.post('/getFileURL', function(req, res){
// Do more JSON/data handling & Node js stuff here then
// send something back
res.sendFile(path.join(__dirname + '/public/about.html'));
});
Express js还有许多有用的功能,但我认为路由是你现在所需要的。
P.S。使用Node js时需要考虑的非常有用的工具: