[![npm 版本](https://img.shields.io/npm/v/yxl-ajax)](https://www.npmjs.com/package/yxl-ajax)
![npm 许可](https://img.shields.io/npm/l/yxl-ajax)
![npm 每月下载数](https://img.shields.io/npm/dm/yxl-ajax)
![npm 大小](https://img.shields.io/bundlephobia/min/yxl-ajax)
## 特性
+ 轻巧 大小为2KB
+ 支持同步调用
+ 异步调用为链式语法
+ 使用ES6模块语法
## 安装
使用npm安装：
```
npm install yxl-ajax  --save
```
或直接导入:
```html
<script src='yxl.ajax.min.js' type='text/javascript'>
</script>
```
## 引入
#### Vue实例中
在入口页面 main.js 作如下配置:
```javascript
import YxlAjax from 'yxl-ajax'
Vue.use(YxlAjax,'基准网址')
```
注意:
+ 必须放在new Vue语句前
+ 基准网址可以不提供
+ 要么基准网址以一个斜杆结尾，要么方法网址以一个斜杆开始
然后在实例方法中
+ 使用this.$ajaxSync调用同步方法
+ 使用this.$ajaxAsync调用异步方法
#### JS脚本中
在页首导入模块和生成对象:
```javascript
import YxlAjax from 'yxl-ajax'
let $ajaxSync=Yxl.ajaxSync('基准网址'))//同步
let $ajaxAsync=Yxl.ajaxAsync('基准网址'))//异步
```
注意:
+ 基准网址可以不提供
+ 要么基准网址以一个斜杆结尾，要么方法网址以一个斜杆开始
然后在接着的脚步中
+ 使用$ajaxSync调用同步方法
+ 使用$ajaxAsync调用异步方法
#### 同步调用
+ get和delete方法的参数为相对网址
+ post、put和patch方法的参数包括相对地址和要发送的数据
+ 调用成功时，返回值为服务器返回的数据
+ 调用失败时，将抛出信息为错误状态码的异常
+ get 方法
    ```javascript
    let 返回数据=this.$ajaxSync.get('相对网址')
    ```
    + post 方法
    ```javascript
    let 返回数据=this.$ajaxSync.post('相对网址',数据对象)
    ```
    + put 方法
    ```javascript
    let 返回数据=this.$ajaxSync.put('相对网址',数据对象)
    ```
    + delete 方法
    ```javascript
    let 返回数据=this.$ajaxSync.delete('相对网址')
    ```
    + patch 方法
    ```javascript
    let 返回数据=this.$ajaxSync.delete('相对网址',数据对象)
    ```
#### 异步调用
+ get、post、put、delete和patch方法的参数为相对网址
+ 在ok方法中设置调用成功的回调函数，回调函数的参数为服务器返回数据，可不设置
+ 在error方法中设置调用失败的回调函数，回调函数的参数依此为错误状态码，错误状态文本和服务器返回数据，可不设置
+ 最后调用Run方法提交要传给服务端的数据
    ```javascript
    this.$ajaxAsync.get('相对网址').ok(成功回调函数).error(失败回调函数).run()
    ```
    + post 方法
    ```javascript
    this.$ajaxAsync.post('相对网址').ok(成功回调函数).error(失败回调函数).run(数据对象))
    ```
    + put 方法
    ```javascript
    this.$ajaxAsync.put('相对网址').ok(成功回调函数).error(失败回调函数).run(数据对象))
    ```
    + delete 方法
    ```javascript
    this.$ajaxAsync.delete('相对网址').ok(成功回调函数).error(失败回调函数).run())
    ```
    + patch 方法
    ```javascript
    this.$ajaxAsync.patch('相对网址').ok(成功回调函数).error(失败回调函数).run(数据对象))
    ```
    # 备注
如发现错误或提建议，请[提交 issue ](https://github.com/yxl-net/javascript-packages/issues)或发送邮件到  
##996986842@qq.com
请关注公众号了解更多信息
![NET全栈程序员](imgs/公众号图片.jpg)