我是一个 Node.js 菜鸟。也许这是一个微不足道的问题。 我有 server.js:
var express = require('express');
var cors = require('cors');
var app = express();
var path = require('path');
var request = require('request');
var cheerio = require("cheerio");
request({
uri: "http://ptnpnh.ua",
}, function(error, response, body) {
var $ = cheerio.load(body);
$("[data-tab=toDay] .weatherNow .temp .temperature_value").each(function() {
var link = $(this);
var text = link.text();
console.log(text);
});
});
app.use(cors());
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, PATCH, DELETE");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
app.get('/', function(req, res, next) {
res.sendFile(path.join(__dirname + '/index.html'));
app.use(express.static('public'));
app.use("/css", express.static(__dirname + '/css'));
app.use("/color", express.static(__dirname + '/color'));
app.use("/fontaw", express.static(__dirname + '/font-awesome'));
app.use("/fonts", express.static(__dirname + '/fonts'));
app.use("/img", express.static(__dirname + '/img'));
app.use("/js", express.static(__dirname + '/js'));
app.use("/node", express.static(__dirname + '/node_modules'));
});
app.post('/', function(req, res, next) {
});
app.listen(8080);
如何修改此代码以将“text”字符串放入现有“/index.html”的 dom 元素中(例如,使用 id="appendText")?
最佳答案
你几乎猜对了
var express = require('express');
var cors = require('cors');
var app = express();
var path = require('path');
var request = require('request');
var cheerio = require("cheerio");
var fs = require('fs') // notice this
request({
uri: "http://ptnpnh.ua",
}, function(error, response, body) {
var $ = cheerio.load(body);
$("[data-tab=toDay] .weatherNow .temp .temperature_value").each(function() {
var link = $(this);
var text = link.text();
console.log(text);
});
});
app.use(cors()); // isnt this the same as below:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET, POST, OPTIONS, PUT, PATCH, DELETE");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});
// you put it here, not assign it every request to /
app.use(express.static('public'));
app.use("/css", express.static(__dirname + '/css'));
app.use("/color", express.static(__dirname + '/color'));
app.use("/fontaw", express.static(__dirname + '/font-awesome'));
app.use("/fonts", express.static(__dirname + '/fonts'));
app.use("/img", express.static(__dirname + '/img'));
app.use("/js", express.static(__dirname + '/js'));
app.use("/node", express.static(__dirname + '/node_modules'));
app.get('/', function(req, res, next) {
//res.sendFile(__dirname + '/index.html'); // just send file
fs.readFile(__dirname + '/index.html'), 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
//console.log(data);
var $ = cheerio.load('<h2 class="title">Hello world</h2>')
$('h2.title').text('Hello there!')
$('h2').addClass('welcome')
res.set('Content-Type', 'text/html; charset=utf-8');
res.send($.html());
});
});
app.post('/', function(req, res, next) {
});
app.listen(8080);
关于jquery - 将数据从node.js附加到现有的html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41080503/