方法說明:
將物件轉換成字串,字串裡多個參數將以 ‘&' 分隔,將以 ‘=' 賦值。
這個函數的操作和 querystring.parse() 是相反的,具體可以看一下例子就了解了。
文法:
querystring.stringify(obj, [sep], [eq])
接收參數:
obj
sep
eq
範例:
複製程式碼
程式碼如下:
querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' })
// returns
'foo=bar&baz=qux&baz=quux&corge='
querystring.stringify({foo: 'bar', baz: 'qux'}, ';', ':')
// returns
'foo:bar;baz:qux'
原始碼:
複製程式碼
程式碼如下:
QueryString.stringify = QueryString.encode = function(obj, sep, eq, name) {
sep = sep || '&';
eq = eq || '=';
if (util.isNull(obj)) {
obj = undefined;
}
if (util.isObject(obj)) {
return Object.keys(obj).map(function(k) {
var ks = QueryString.escape(stringifyPrimitive(k)) eq;
if (util.isArray(obj[k])) {
return obj[k].map(function(v) {
return ks QueryString.escape(stringifyPrimitive(v));
}).join(sep);
} else {
return ks QueryString.escape(stringifyPrimitive(obj[k]));
}
}).join(sep);
}
if (!name) return '';
return QueryString.escape(stringifyPrimitive(name)) eq
QueryString.escape(stringifyPrimitive(obj));
};