YXD*_*YXD 3 javascript node.js
正确形成的查询字符串如下所示:
http://baseurl.thing/update?id=123&foo=50&bar20
Run Code Online (Sandbox Code Playgroud)
我想将此"安全"映射到一个对象中,但我不想最终得到未定义的值.有没有一种验证查询字符串的好方法?
详细信息:我想将其转换为url模块的对象.即:
var url_parts = url.parse(request.url, true);
Run Code Online (Sandbox Code Playgroud)
然后我可以基于路线url_parts.pathname.我想访问url_parts.query.id,url_parts.query.foo和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.
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
4802 次 |
| 最近记录: |