适用于Node.js和浏览器的Ajax(JS HTTP客户端)-Node.js开发

  • Y7_195945
    了解作者
  • 357.1KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-05-16 09:42
    上传日期
superagent小型渐进式客户端HTTP请求库和具有相同API的Node.js模块,支持许多高级HTTP客户端功能目录安装用法Node Br superagent小型渐进式客户端HTTP请求库和Node.js模块使用相同的API,支持许多高级HTTP客户端功能目录安装用法节点浏览器支持的平台必需的浏览器功能插件从先前版本升级贡献者许可证安装npm:npm安装superagent毛线:yarn add superagent用法节点const superagent = require( “超级代理”); //回调超级代理.post('/ api / pet').sen
superagent-master.zip
内容介绍
# superagent [![build status](https://img.shields.io/travis/visionmedia/superagent.svg)](https://travis-ci.org/visionmedia/superagent) [![code coverage](https://img.shields.io/codecov/c/github/visionmedia/superagent.svg)](https://codecov.io/gh/visionmedia/superagent) [![code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/sindresorhus/xo) [![styled with prettier](https://img.shields.io/badge/styled_with-prettier-ff69b4.svg)](https://github.com/prettier/prettier) [![made with lass](https://img.shields.io/badge/made_with-lass-95CC28.svg)](https://lass.js.org) [![license](https://img.shields.io/github/license/visionmedia/superagent.svg)](LICENSE) > Small progressive client-side HTTP request library, and Node.js module with the same API, supporting many high-level HTTP client features ## Table of Contents * [Install](#install) * [Usage](#usage) * [Node](#node) * [Browser](#browser) * [Supported Platforms](#supported-platforms) * [Required Browser Features](#required-browser-features) * [Plugins](#plugins) * [Upgrading from previous versions](#upgrading-from-previous-versions) * [Contributors](#contributors) * [License](#license) ## Install [npm][]: ```sh npm install superagent ``` [yarn][]: ```sh yarn add superagent ``` ## Usage ### Node ```js const superagent = require('superagent'); // callback superagent .post('/api/pet') .send({ name: 'Manny', species: 'cat' }) // sends a JSON post body .set('X-API-Key', 'foobar') .set('accept', 'json') .end((err, res) => { // Calling the end function will send the request }); // promise with then/catch superagent.post('/api/pet').then(console.log).catch(console.error); // promise with async/await (async () => { try { const res = await superagent.post('/api/pet'); console.log(res); } catch (err) { console.error(err); } })(); ``` ### Browser **The browser-ready, minified version of `superagent` is only 6 KB (minified and gzipped)!** Browser-ready versions of this module are available via [jsdelivr][], [unpkg][], and also in the `node_modules/superagent/dist` folder in downloads of the `superagent` package. > Note that we also provide unminified versions with `.js` instead of `.min.js` file extensions. #### VanillaJS This is the solution for you if you're just using `<script>` tags everywhere! ```html <script src="https://polyfill.io/v3/polyfill.min.js?features=Array.from,Promise,Symbol,Object.setPrototypeOf,Object.getOwnPropertySymbols,Set,Math.trunc"></script> <script src="https://cdn.jsdelivr.net/npm/superagent"></script> <!-- if you wish to use unpkg.com instead: --> <!-- <script src="https://unpkg.com/superagent"></script> --> <script type="text/javascript"> (function() { // superagent is exposed as `window.superagent` // if you wish to use "request" instead please // uncomment the following line of code: // `window.request = superagent;` superagent .post('/api/pet') .send({ name: 'Manny', species: 'cat' }) // sends a JSON post body .set('X-API-Key', 'foobar') .set('accept', 'json') .end(function (err, res) { // Calling the end function will send the request }); })(); </script> ``` #### Bundler If you are using [browserify][], [webpack][], [rollup][], or another bundler, then you can follow the same usage as [Node](#node) above. ## Supported Platforms * Node: v6.x+ * Browsers (see [.browserslistrc](.browserslistrc)): ```sh npx browserslist ``` ```sh and_chr 71 and_ff 64 and_qq 1.2 and_uc 11.8 android 67 android 4.4.3-4.4.4 baidu 7.12 bb 10 bb 7 chrome 73 chrome 72 chrome 71 edge 18 edge 17 firefox 66 firefox 65 ie 11 ie 10 ie 9 ie_mob 11 ie_mob 10 ios_saf 12.0-12.1 ios_saf 11.3-11.4 op_mini all op_mob 46 op_mob 12.1 opera 58 opera 57 safari 12 safari 11.1 samsung 8.2 samsung 7.2-7.4 ``` ### Required Browser Features We recommend using <https://polyfill.io> (specifically with the bundle mentioned in [VanillaJS](#vanillajs) above): ```html <script src="https://polyfill.io/v3/polyfill.min.js?features=Array.from,Promise,Symbol,Object.setPrototypeOf,Object.getOwnPropertySymbols,Set,Math.trunc"></script> ``` * IE 9-10 requires a polyfill for `Promise`, `Array.from`, `Symbol`, `Object.getOwnPropertySymbols`, and `Object.setPrototypeOf` * IE 9 requires a polyfill for `window.FormData` (we recommend [formdata-polyfill][]), `Set`, and `Math.trunc` ## Plugins SuperAgent is easily extended via plugins. ```js const nocache = require('superagent-no-cache'); const superagent = require('superagent'); const prefix = require('superagent-prefix')('/static'); superagent .get('/some-url') .query({ action: 'edit', city: 'London' }) // query string .use(prefix) // Prefixes *only* this request .use(nocache) // Prevents caching of *only* this request .end((err, res) => { // Do something }); ``` Existing plugins: * [superagent-no-cache](https://github.com/johntron/superagent-no-cache) - prevents caching by including Cache-Control header * [superagent-prefix](https://github.com/johntron/superagent-prefix) - prefixes absolute URLs (useful in test environment) * [superagent-suffix](https://github.com/timneutkens1/superagent-suffix) - suffix URLs with a given path * [superagent-mock](https://github.com/M6Web/superagent-mock) - simulate HTTP calls by returning data fixtures based on the requested URL * [superagent-mocker](https://github.com/shuvalov-anton/superagent-mocker) — simulate REST API * [superagent-cache](https://github.com/jpodwys/superagent-cache) - A global SuperAgent patch with built-in, flexible caching * [superagent-cache-plugin](https://github.com/jpodwys/superagent-cache-plugin) - A SuperAgent plugin with built-in, flexible caching * [superagent-jsonapify](https://github.com/alex94puchades/superagent-jsonapify) - A lightweight [json-api](http://jsonapi.org/format/) client addon for superagent * [superagent-serializer](https://github.com/zzarcon/superagent-serializer) - Converts server payload into different cases * [superagent-httpbackend](https://www.npmjs.com/package/superagent-httpbackend) - stub out requests using AngularJS' $httpBackend syntax * [superagent-throttle](https://github.com/leviwheatcroft/superagent-throttle) - queues and intelligently throttles requests * [superagent-charset](https://github.com/magicdawn/superagent-charset) - add charset support for node's SuperAgent * [superagent-verbose-errors](https://github.com/jcoreio/superagent-verbose-errors) - include response body in error messages for failed requests * [superagent-declare](https://github.com/damoclark/superagent-declare) - A simple [declarative](https://en.wikipedia.org/wiki/Declarative_programming) API for SuperAgent * [superagent-node-http-timings](https://github.com/webuniverseio/superagent-node-http-timings) - measure http timings in node.js Please prefix your plugin with `superagent-*` so that it can easily be found by others. For SuperAgent extensions such as couchdb and oauth visit the [wiki](https://github.com/visionmedia/superagent/wiki). ## Upgrading from previous versions Please see [GitHub releases page](https://github.com/visionmedia/superagent/releases) for the current changelog. Our breaking changes are mostly in rarely used functionality and from stricter error handling. * [6.0 to 6.1](https://github.com/visionmedia/superagent/releases/tag/v6.1.0) * Browser behaviour changed to match Node when serializing `application/x-www-form-urlencoded`, using `arrayFormat: 'indices'` semantics of `qs` library. (See: <https://www.npmjs.com/package/qs#stringifying>) * [5.x to 6.x](https://github.com/visionmedia/superagent/releases/tag/v6.0.0): * Retry behavior is still opt-in, however we now have a more fine-grained list of status codes and error codes that we retry against (see updated docs) * A specific issue with Content-Type matching not being case-insensitiv
评论
    相关推荐