从req.body中删除换行符

时间:2012-09-16 21:32:27

标签: javascript node.js express

我正在研究一个节点项目。在下面的中间件片段中,我需要从req.body中删除换行符,以准备在JSONP响应中发送。

server.use(function(req,res,next){
  if(req.query.concat) {
    req.body = req.body; // <--- HERE I need to remove the newlines, etc.
  } else {
    req.body = req.body || {};
    req.body.jsonp_callback = req.query.callback;
  }
  next();
})

如何让req.body为JSONP做好准备?

2 个答案:

答案 0 :(得分:0)

使用str.split("\n")将返回一个数组,其中您的字符串被拆分为新行所表示的块,然后使用循环将所有内容重新组合在一起。

var arr = str.split("\n");
var result = "";
for(var i = 0; i < arr.length; i++) {
  result += arr[index];
}

答案 1 :(得分:0)

javascript中的换行符与任何其他字符一样,用'\ n'表示。使用全局替换:

server.use(function(req,res,next){
  if(req.url.match(/^\/(api|view|partial)/) && req.query.callback){
    if(req.query.concat) {
      req.body = req.body.replace(/\\n/g, ''); // <--- Newlines are globally replaced with empty string
    } else {
      req.body = req.body || {};
      req.body.jsonp_callback = req.query.callback;
    }
  }
 next();
})