[英]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.id
, url_parts.query.foo
和url_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.