使用 SuperAgent 构造查询字符串的当前机制是啥?
Posted
技术标签:
【中文标题】使用 SuperAgent 构造查询字符串的当前机制是啥?【英文标题】:What is the current mechanism to construct a query string with SuperAgent?使用 SuperAgent 构造查询字符串的当前机制是什么? 【发布时间】:2012-02-24 20:28:52 【问题描述】:我正在尝试使用SuperAgent .data() to construct a query string per the docs。但是 .data() 似乎不再存在。
superagent
.get(URL)
.data( 'screen_name': USER, 'count': '1' )
.end(function(response)
if (response.ok)
console.log('yay got ' + JSON.stringify(response.body));
else
console.log('Oh no! error ' + response.text);
);
结果:
Object #<Request> has no method 'data'
【问题讨论】:
【参考方案1】:尝试用.send
替换.data
基于源中的 cmets:
/**
* Send `data`, defaulting the `.type()` to "json" when
* an object is given.
*
* Examples:
*
* // querystring
* request.get('/search')
* .send( search: 'query' )
* .end(callback)
*
* // multiple data "writes"
* request.get('/search')
* .send( search: 'query' )
* .send( range: '1..5' )
* .send( order: 'desc' )
* .end(callback)
*
* // manual json
* request.post('/user')
* .type('json')
* .send('"name":"tj")
* .end(callback)
*
* // auto json
* request.post('/user')
* .send( name: 'tj' )
* .end(callback)
*
* // manual x-www-form-urlencoded
* request.post('/user')
* .type('form')
* .send('name=tj')
* .end(callback)
*
* // auto x-www-form-urlencoded
* request.post('/user')
* .type('form')
* .send( name: 'tj' )
* .end(callback)
*
* @param String|Object data
* @return Request for chaining
* @api public
*/
【讨论】:
谢谢愉快!文档似乎有点落后于源代码 - 我确实打开它们进行检查,但显然错过了这一点。 这个答案已经过时了。您不能将send
与get
一起使用:github.com/visionmedia/superagent/issues/606【参考方案2】:
以上答案在最新版本的 SuperAgent (0.18.0) 中对我不起作用。我不得不改用 query
函数 (http://visionmedia.github.io/superagent/#query-strings)。
request.get("/search").query( search: 'query' ).end(callback);
【讨论】:
以上是关于使用 SuperAgent 构造查询字符串的当前机制是啥?的主要内容,如果未能解决你的问题,请参考以下文章