ajax请求模块, 底层调用axios发送请求,做了响应数据的适配,并支持 url path 传参
(require("$ui/utils/ajax"))(options) → {Promise}
ajax 函数
Examples
// 基础用法
ajax({
url: '/api/users'
})
.then(res => {
// to do something...
})
.catch(e => {
// to do something...
})
// url path传参
ajax({
method: 'get',
url: '/api/users/:id',
params: {
id: '123'
}
})
// 发送数据
ajax({
url: '/api/users',
method: 'post',
data: {
name: 'kenny',
password: '123456'
}
})
// 设置请求头
ajax({
url: '/api/users/',
data: {
page: 1,
limit: 10
},
headers: {
'Content-type': 'application/x-www-form-urlencoded'
}
})
// 启用缓存,缓存到内存,刷新页面将失效
ajax({
url: '/api/user',
cache: true
})
// 启用缓存,缓存到LocalStorage
ajax({
url: '/api/user',
cache: {
local: true
}
})
// 启用缓存,缓存到SessionStorage
ajax({
url: '/api/user',
cache: {
session: true
}
})
// 启用缓存,自定义缓存key
ajax({
url: '/api/user',
cache: {
local: true,
key: 'cachekey'
}
})
http发送请求,websocket接收响应,需要与websocket配合
ajax({
url: '/api/user',
socket: true
})
// webscoket 接收转发
ws.on('FwzxSyncCall', function (res) {
if (res && res.NotifyId) {
bus.$emit(res.NotifyId, responseData({data: res.Data}))
}
})
Parameters:
Name | Type | Description |
---|---|---|
options |
object | ajax参数选项. 默认选项值 |
Returns:
promise
- Type
- Promise
Members
(inner, constant) defaultConfig :Object
Properties:
Name | Type | Description |
---|---|---|
url |
string | 请求地址, 必要参数 |
method |
string | 请求方法类型,默认:get |
params |
object | path参数,如: /api/user/:id, 不是url查询参数, 默认:null |
data |
object | 请求发送数据,get head delete请求是查询参数,其他类型是post数据, 默认:null, 支持 Object/URLSearchParams/FormData |
cache |
Object | boolean | 缓存配置 |
socket |
boolean | 是否启用webSocket通知 |
ajax 请求的默认参数
Type:
- Object
Methods
(static) transformHandler(transformer, method, postData, options, params) → {function}
axios 数据适配函数, 数据转换层对数据进行转换的函数句柄,代码生成器需要用到该函数
Parameters:
Name | Type | Description |
---|---|---|
transformer |
function | 自定义数据转换函数 |
method |
string | 方法名称 |
postData |
object | 请求的参数对象 |
options |
object | ajax请求的options |
params |
object | 请求的url参数对象 |
Returns:
- Type
- function