Javascript 使用Express调用AJAX

Javascript 使用Express调用AJAX,javascript,ajax,node.js,express,Javascript,Ajax,Node.js,Express,我试图在服务器提供的静态HTML文件中使用Express framework动态附加HTML。我发现ChereIO模块可以完全满足我的需求,但我想知道是否有一种更便宜的方法可以代替加载整个HTML并附加字符串 我搜索了AJAX以及如何与客户机通信,但没有成功。我对cheerio使用的代码是: exports.modify = function(req, res){ var html = fs.readFileSync(__dirname + '/../public/index.html',

我试图在服务器提供的静态HTML文件中使用Express framework动态附加HTML。我发现ChereIO模块可以完全满足我的需求,但我想知道是否有一种更便宜的方法可以代替加载整个HTML并附加字符串

我搜索了AJAX以及如何与客户机通信,但没有成功。我对cheerio使用的代码是:

exports.modify = function(req, res){

  var html = fs.readFileSync(__dirname + '/../public/index.html', 'utf8'); 
  var $ = cheerio.load(html);
  var scriptNode = '<p>Source code modified</p>';
  $('body').append(scriptNode);

  fs.writeFile(__dirname + '/../public/index.html', $.html(), function (err) {
    if (err) throw err;
    console.log('It\'s modified!');
    });

  res.send($.html());

}; 
exports.modify=函数(req,res){
var html=fs.readFileSync(uu dirname+'/../public/index.html',utf8');
var$=cheerio.load(html);
var scriptNode='源代码已修改

'; $('body').append(scriptNode); fs.writeFile(uu dirname+'/../public/index.html',$.html(),函数(err){ 如果(错误)抛出错误; log('It's modified!'); }); res.send($.html()); };

我如何才能以更“恰当”的方式(可能是使用AJAX调用)完成它?任何建议都非常受欢迎。

假设您希望将JSON作为数据类型处理,那么您可以设置另一个特定路由,或者可以在当前路由处理程序中过滤请求类型:

exports.index = function(req, res) {
  var data = someData.fetch();
  switch(req.format) {
    case 'json':
      res.json(data);
      break;
    default:
      res.render('template', {
      data:data
    });
  }
};

我真的不明白你想干什么。如果希望将JSON作为数据类型处理,则可以设置另一个特定路由,或者可以在当前路由处理程序中筛选请求类型:exports.index=function(req,res){var data=someData.fetch();switch(req.format){case'JSON':res.JSON(data);break;默认值:res.render('template',{data:data});};我只希望修改路由将scriptNode发送到客户端index.html,如上面代码所示,使用AJAX,然后获取它并将其写入文件,而不刷新整个页面。1.包含表单和客户端javascript 2的HTML页面。路由将返回scriptPage,从客户端javascript 3调用。根据客户端请求修改服务器端版本的路由。您描述问题的方式表明您并不真正理解应该如何处理路由和客户端/服务器端。阅读express文档会很有用。你能给我举个小例子让我更清楚吗?谢谢你的回答!老实说,不。。。我没有时间做教程+有很多好的教程可供选择。