我有一个运行express的Node应用程序,我想在传入的请求主体属性上转义撇号,但我不相信这是最好的方法。
exports.p_edit = function(req, res) {
var args = [
req.body.title.split("'").join("\\'"),
req.files.thumbnail.name.split("'").join("\\'"),
req.body.tags.split("'").join("\\'"),
req.body.topic.split("'").join("\\'"),
req.body.preview.split("'").join("\\'"),
req.body.markdown.split("'").join("\\'")
];
// ...
// Do other stuff
我知道我可以使用for(prop in req.body)
循环迭代所有请求主体属性,但是如何动态地将值重新分配给每个属性?
例如,如果我
for(prop in req.body) {
prop.split("'").join("\\'");
}
以及稍后引用req.body.title
(或任何属性),则该值不变。同样,如果我尝试将其分配为req.body.prop = prop.split("'").join("\\'");
(希望req.body.prop
每次迭代都会动态更改),只需将prop
属性添加到req.body
对象即可。如何动态迭代和重新分配这些属性?
答案 0 :(得分:2)
如果我正确理解您的要求,您只需要将循环更改为使用括号表示法:
for(var prop in req.body) {
if (req.body.hasOwnProperty(prop))
req.body[prop] = req.body[prop].split("'").join("\\'");
}
JSFiddle:https://jsfiddle.net/wsahkozt/1/