我正在研究一个节点项目。在下面的中间件片段中,我需要从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做好准备?
答案 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();
})