zl程序教程

您现在的位置是:首页 >  系统

当前栏目

superagent 模块

2023-06-13 09:15:15 时间

大家好,又见面了,我是你们的朋友全栈君。

SuperAgent

superagent 是一个轻量的,渐进式的ajax api,可读性好,学习曲线低,内部依赖nodejs原生的请求api,适用于nodejs环境下.

一个简单的post请求,并设置请求头信息的例子

 request .post('/api/pet') .send({ name: 'Manny', species: 'cat' }) .set('X-API-Key', 'foobar') .set('Accept', 'application/json') .end(function(res){ if (res.ok) { alert('yay got ' + JSON.stringify(res.body)); } else { alert('Oh no! error ' + res.text); } }); 

测试文档

这个链接文档,是用Mocha’s文档自动输出的,下面提供了这个测试文档对应的源文件

请求基础

一个请求的初始化可以用请求对象里合适的方法来执行,然后调用end()来发送请求,下面是一个简单的get请求

 request .get('/search') .end(function(res){ 

});

请求方法也可以通过参数传递:

request('GET', '/search').end(callback); 

node客户端也允许提供绝对路径:

 request .get('http://example.com/search') .end(function(res){ 

});

delete,head,post,put和别的http动作都可以使用,来换个方法看看:

request .head('/favicon.ico') .end(function(res){ 

});

delete是一个特列,因为它是系统保留的关键字,所以应该用.del()这个名字:

request .del('/user/1') .end(function(res){ 

});

http请求默认的方法为get,所以就像你看到的,下面的这个例子也是可用的:

request('/search', function(res){ 

});

设置头字段

设置头字段非常简单,只需调用.set()方法,传递一个名称和值就行:

request
   .get('/search')
   .set('API-Key', 'foobar')
   .set('Accept', 'application/json')
   .end(callback);

你也可以直接传递一个对象进去,这样一次就可以修改多个头字段:

 request
   .get('/search')
   .set({ 'API-Key': 'foobar', Accept: 'application/json' })
   .end(callback);

Get请求

当使用get请求传递查询字符串的时候,用.query()方法,传递一个对象就可以,下面的代码将产生一个/search?query=Manny&range=1..5&order=desc请求:

 request .get('/search') .query({ query: 'Manny' }) .query({ range: '1..5' }) .query({ order: 'desc' }) .end(function(res){ 

});

或者传一个单独的大对象:

request .get('/search') .query({ query: 'Manny', range: '1..5', order: 'desc' }) .end(function(res){ 

});

.query()方法也允许传递字符串:

request.post('/user')
    .set('Content-Type', 'application/json')
    .send('{"name":"tj","pet":"tobi"}')
    .end(callback)