Query

uri 查询串解析模块.
KISSY.use('uri',function(S,Uri){
    // use Uri.Query
});

Class

Class Detail

class uri.Query
Query (queryStr)
Parameters:queryStr (String) – 查询字符串

Methods Detail

Query.prototype.clone()
clone ()
返回新的查询对象
Returns:{Uri.Query}
Query.prototype.reset()
reset (queryStr)
设置查询字符串
Parameters:queryStr (String) – 查询字符串
Query.prototype.count()
count ()
返回参数个数
Returns:{Number}

举例:

new Query('x=2&y=3').count() // => 2
Query.prototype.has()
has (key)
返回是否包含指定查询参数键名或是否有查询参数
Parameters:key ({String}) –
Returns:{Boolean}

举例:

new Query('x=2&y').has('y') // =>true
new Query('x=2&y').has('z') // =>false
new Query('').has() // => false
new Query('z').has() // => true
Query.prototype.get()
get (key)
返回指定的查询参数对应的值或查询参数键值对象
Parameters:key ({String}) –
Returns:指定 key 时返回对应值,不指定 key 时返回全部键值对

举例:

new Query('x=2&y=3').get('x') // => 2
new Query('x=2&y=3').get() // => {x:'2',y:'3'}
Query.prototype.set()
set (key,value)
设置对应键值
Parameters:
  • key ({String|Query}) – 键名或query实例
  • value – 键值
Returns:

当前实例

举例:

new Query('x=2&y=3').set('y',4).toString() => x=2&y=4
new Query('x=2&y=3').set(new Query('z=4')).toString() => x=2&y=3&z=4
Query.prototype.add()
add (key,value)
增加对应键值
Parameters:
  • key ({String|Query}) – 键名或query实例
  • value – 键值
Returns:

当前实例

举例:

new Query('x=2&y=3').add('y',4).toString(false) => x=2&y=4&y=3
new Query('x=2&y=3').add(new Query('y=4')).toString(false) => x=2&y=3&y=4
Query.prototype.remove()
set (key)
删除指定键名或全部查询参数
Parameters:key ({String}) – 指定键名,不指定则删除全部
Returns:当前实例

举例:

new Query('x=2&y=3').remove('y').toString() => x=2
new Query('x=2&y=3').remove().toString() => ''
Query.prototype.keys()
keys ()
返回参数名数组
Returns:{String[]}

举例:

new Query('x=2&y=3').keys() // => ['x','y']
Query.prototype.toString()
toString (arr)
序列化查询参数
Parameters:arr ({Boolean}) – 同 param() 同名参数
Returns:{String}

举例:

new Query('x=2&y=3&y=4').toString(false)// => 'x=2&y=3&y=4'
new Query('x=2&y=3&y=4').toString(true)// => 'x=2&y%5b%5d=3&y%5b%5d=4'