繁体   English   中英

验证Node.js中的URL查询字符串

[英]Validating URL Query string in Node.js

正确形成的查询字符串如下所示:

http://baseurl.thing/update?id=123&foo=50&bar20

我想将此“安全”映射到一个对象中,但我不想最终得到未定义的值。 有没有一种验证查询字符串的好方法?

详细信息:我想将其转换为url模块的对象。 即:

var url_parts = url.parse(request.url, true);

然后我可以根据url_parts.pathname进行路由。 我想访问url_parts.query.idurl_parts.query.foourl_parts.query.bar ,但url_parts.query.bar是它们都存在且仅在没有提供其他参数的情况下才能访问,这样我就不会出现静默的未定义值。

设置默认值,然后使用您的网址中的值覆盖它们。

var defaults = {
    id : 0,
    foo : 'default value',
    bar : 'default.value'
};

var url_parts = url.parse(request.url, true);
var query = url_parts.query;
query.prototype = defaults; //does the inheritance of defaults thing
// now query has all values set, even if they didn't get passed in.

希望有所帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM