https://github.com/imweb/preload
Ajax预加载组件
https://github.com/imweb/preload
Last synced: 11 months ago
JSON representation
Ajax预加载组件
- Host: GitHub
- URL: https://github.com/imweb/preload
- Owner: imweb
- License: mit
- Created: 2016-07-28T03:22:59.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2016-07-28T03:37:38.000Z (almost 10 years ago)
- Last Synced: 2025-04-30T11:50:59.363Z (about 1 year ago)
- Language: JavaScript
- Size: 3.91 KB
- Stars: 56
- Watchers: 23
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# preload
预加载数据
## API
### Preload.load(option, callback)
预加载一个cgi
#### Arguments
- `option` `{Object}`
- `option.url` `{String}` url
- `option.data` `{Object}` data
- `option.type` `{String}` GET|POST
- `callback` `{Function(Object)}` 数据回调
### Preload.get(option, callback)
获取预加载的数据
- `option` `{Object}`
- `option.url` `{String}` url
- `option.data` `{Object}` data
- `option.type` `{String}` GET|POST
- `callback` `{Function(Object)}` 数据回调, 当无预加载时callback(null)
option.url和option.data需与Preload.load()时的保持一致
## Usage
```html
```
```javascript
// preload.js
/**
* @noWrap
*/
(function() {
Preload.load({
url: '/cgi-bin/now/web/room/get_record_room_info',
data: {
vid: Preload.query('vid')
}
});
})();
```
```javascript
// index.js
// 直接改造db组件,业务代码无需修改
```
```javascript
// db.js
if (window.Preload) {
Preload.get({
url: option.url,
data: option.data
}, function(data) {
if (data) {
setTimeout(function() {
_complete(data);
}, 1);
} else {
$.ajax(option);
}
});
} else {
$.ajax(option);
}
```
## Note
- 同一个load()只能get()一次,之后get()回调均为null
- 预加载请求失败时回调`callback({ retcode: xhr.status, netError: true })`