0

ノードプロジェクトに取り組んでいます。次のミドルウェアのスニペットでは、改行を削除して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();
})

JSONP 用に req.body を準備するにはどうすればよいですか?

4

2 に答える 2

1

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();
})
于 2012-09-16T21:41:39.397 に答える
0

これを使用str.split("\n")すると、文字列が改行で示されているようにチャンクに分割された配列が返され、ループを使用してすべてを元に戻します。

var arr = str.split("\n");
var result = "";
for(var i = 0; i < arr.length; i++) {
  result += arr[index];
}
于 2012-09-16T21:37:44.880 に答える